السلام عليكم ورحمة الله وبركاته
في موضوع السابق أردت أن أفهم مكتبة socket والحمد الله الأخ Mr.B أفادني بسكربت تقريبا يعطي توضيح دقيق على طريقة إستعمال المكتبة
وهذا هو السكربت
#!python
# -*- coding: utf-8 -*-
import socket
import time
MAX_PORT = 65536
host = 'openbsd.org'
try:
for port in [80, 113, 21]:# xrange(0, MAX_PORT):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(15)
try:
s.connect((host, port))
print('port {0:5} : open'.format(port))
except socket.timeout, e:
print('port {0:5} : filtered ({1})'.format(port, e))
except socket.error, e:
print('port {0:5} : close ({1})'.format(port, e))
s.close()
time.sleep(1)
except KeyboardInterrupt:
exit(0)في السطر
s.connect((host, port))
لن يعمل في البايثون لا أدري لماذا ولكن وجدت دالة أخرى وهي
socket.create_connection((host, port))
في السكربت لم أفهم بعض السطور وقد أشرت إليها فما يلي
try:
for port in [80, 113, 21]:# هذه مفهومة
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#مفهومة
s.settimeout(15)#مفهومة
try:#مفهومة
s.connect((host, port))#مفهومة
print('port {0:5} : open'.format(port))#لم افهمه والمافئدة من format
except socket.timeout, e:#من أين جاء متغير e
print('port {0:5} : filtered ({1})'.format(port, e))#نفس الشيء لم افهم السطر كله
except socket.error, e:
print('port {0:5} : close ({1})'.format(port, e))#ونف س الشيء هنا أيضا لم أفهم السطركله
s.close()
time.sleep(1)وايضا في أحد السكربتات التي كنت أدرسها وجدت هذا السطر
s.recv(1024)
ما الفائدة منه,حاولت تطبيقه في محرر PyScripter ولكن لم يجده في قائمة الدوال
أرجوا من أهل الخبرة مساعدتي
وجزاكم الله خيرا