import socket
import sys
import binascii
import datetime
import time
try:
port = 2122
host = ''
except IndexError:
print ("Error: ")
print ("Be sure to specify username, password, port, database name and table name.\n")
print ("Syntax: ./script.py username password port db_name table_name.")
print ("Example: ./script.py hank mypass 8762 testdb test_table")
print ("\nExit...")
sys.exit(1)
while 1:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(5)
c, addr = s.accept()
print ('Connected by', addr)
data = c.recv(1042)
s=binascii.hexlify(data)
print(s)
data = None
c.close()
time.sleep(1)
print('Exited!')
上記は、クライアント側をリッスンし続け、クライアント側がデータを送信して印刷するのを待つための無限ループでの私のコーディングです。それで全部です。この書き込み方法はメモリフラッドを引き起こすかどうか?ソケットを開き続け、無限ループで閉じるためです!.
P/S: ソケットをバインドしてリッスンし、.recv でのみループしようとしましたが、機能しません。データを一度しか受信できません。