python socket
创建客户端和服务器之间的链接。
1、首先是服务器设置好了监听
2、然后客户端发起响应请求
3、服务器接收到响应请求,将信息发送给客户端
4、循环往复,客户端发出请求,服务器根据请求反馈信息。
所以,服务器和客户端的互动为:
对服务器而言:
import socket
import threading
# 设置一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 对象s开始监听
s.bind(('127.0.0.1', 8800))
s.listen(5)
# 如果接收到请求响应,获取请求信息
sock, addr = s.accept()
# 设置一条thread路径进行回馈,回馈执行函数为tcplink,把sock和addr作为参数带入tcplink。tcplink需要提前def
t = threading.Thread(target=tcplink, args=(sock, addr))
# 响应函数需要提前定义
def tcplink(sock, addr):
# 向client发送信息,用send方法
sock.send(b'nice to meet you.')
# 链接无限持续
while True:
# 接收数据流
data = sock.recv(1024)
if data=='eixt' or not data:
break
else:
sock.send(b'hello, %s' % data)
# 中断链接
sock.close()
对客户端而言:
# 建立socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 与服务器取得联系,需要ip和端口
s.connect(('127.0.0.1', 8800)) # 根据服务器的设置,这个时候会返回nice to meet you.字符串
# 客户端向服务器发送信息
s.send(b'Jack') # 根据服务器设置,客户端将接收到hello, Jack的字符串
s.send('exit') # 根据服务器设置,本次对 客户端的链接将断开,接收不到回馈
s.close() # 关闭链接,释放本地资源
这样就形成了客户端和服务器的设置和连接。