如何保持与单个指定客户端的连接
How to stay connected to a single specified client
我有以下代码,它以我想要的方式接收我想要的数据,然后终止。我如何设置它以连接到始终具有相同 IP 的客户端并保持连接或从该客户端侦听?
它是一个条形码扫描器,可以很好地发送数据,我只需要始终列出它即可。
Servercode.py
import socket #for sockets
import sys #for exit
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM,)
except socket.error as err_msg:
print ('Unable to instantiate socket. Error code: ' + str(err_msg[0]) + ' , Error message : ' + err_msg[1])
sys.exit();
print ('Socket Initialized')
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
print ('listening....')
conn, addr = s.accept()
print ('Got connection from', addr)
while 1:
data = conn.recv(1024)
stringdata = data.decode('ascii')
if not data: break
print ('received data:', stringdata)
conn.close()
您想拒绝来自特定 IP 地址以外的 IP 地址的连接。
您已经拥有大部分所需内容:
print ('Got connection from', addr)
只需添加如下内容:
if addr[0] != '192.168.1.200':
conn.close()
我有以下代码,它以我想要的方式接收我想要的数据,然后终止。我如何设置它以连接到始终具有相同 IP 的客户端并保持连接或从该客户端侦听?
它是一个条形码扫描器,可以很好地发送数据,我只需要始终列出它即可。
Servercode.py
import socket #for sockets
import sys #for exit
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM,)
except socket.error as err_msg:
print ('Unable to instantiate socket. Error code: ' + str(err_msg[0]) + ' , Error message : ' + err_msg[1])
sys.exit();
print ('Socket Initialized')
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
print ('listening....')
conn, addr = s.accept()
print ('Got connection from', addr)
while 1:
data = conn.recv(1024)
stringdata = data.decode('ascii')
if not data: break
print ('received data:', stringdata)
conn.close()
您想拒绝来自特定 IP 地址以外的 IP 地址的连接。 您已经拥有大部分所需内容:
print ('Got connection from', addr)
只需添加如下内容:
if addr[0] != '192.168.1.200':
conn.close()