参照博文,感谢。
一个简单的socket服务端举例:
import socket
s=socket.socket(socket.AFF_INET, socket.SOCK_STRREAM)
s.bind("服务器ip", "服务器端口号")
s.listen(5) #最多允许5个client排队
while True:
cs, address = s.accept() #cs是新的socket对象,address是接收到的客户端的地址
print("got connection from " + str(address))
cs.send("I have got your socket")
data = cs.recv(1024) #最多接收1024个字符
cs.close
一个简单的socket客户端举例:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect("服务器ip", 端口号)
data = s.recv(1024) #从服务器最多接收1024个字符
s.send("this is a connection from client")
print('The data received is '+data)
s.close()
简单来说,服务器和客户端都需要先建立socket,
然后,服务器端用.bind方法绑定ip和端口,而客户端用.connect(接收)方法绑定服务器的ip和端口;
然后,服务器要用.listen(n)设置最大排队数目n,然后用while循环接收,while中,要先用.accept()监听客户端,再用.accept()方法新传回来的sockete端口发送(.send())和接收(.recv())客户端的消息;客户端不需要.listen .accept,但也要用.send及.recv()来发送和接收消息。