# __author__ = 'ZSnail' # socket就是一个网络通讯协议 # 服务器端 import socket server = socket.socket() server.bind(('127.0.1.1', 6969)) # 绑定要监听的端口 server.listen() # 监听 print('开始等??') # 在这里会形成阻塞,一直等到有客户连接 # conn就是客户端连过来而在服务器内生成的一个连接实例 conn, address = server.accept() # 等电话打进来 while True: print('电话来了') data = conn.recv(1024) # 官方要求最好不要高于8192 - 8k print('receive:', data) conn.send(data.upper()) server.close()
以上是服务端代码.
有可能不太好理解conn, address的意思, 可以理解为移动客服人员, 整个是一个服务体系, 但是当移动客户打进电话时, 需要真正的有人来回复打电话的客户
1 # __author__ = 'ZSnail' 2 # 客户端 3 import socket 4 5 client = socket.socket() # 声明socket类型和socket链接 6 7 client.connect(('127.0.1.1', 6969)) # 连接端口 8 9 while True: # 在这里写死循环 可以让客户端一直保持连接状态而不断开 10 msg = input('>>:').strip() 11 12 client.send(msg.encode('utf-8')) # python3内只能发送比特类型 13 14 data = client.recv(1024) # 收多少东西 单位是字节 15 16 print('receive:', data) 17 18 client.close()
以上是客户端代码, 可以尝试插入几条print语句来查看阻塞问题