如何保持与单个指定客户端的连接

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()