知识点
发送数据
- 设计思路:  
- 代码展示: - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20- import socket 
 def send_message():
 # 创建监听的套接字
 tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 # 链接服务器
 server_addr = ('192.168.85.129', 8080)
 tcp_socket.connect(server_addr)
 # 发送信息给服务器
 message = 'Test message'
 tcp_socket.send(message.encode('utf-8'))
 # 接受对方发送过来的数据,最大接受1024个字节
 recv_message = tcp_socket.recv(1024)
 print(recv_message.decode('utf-8'))
 # 关闭套接字
 tcp_socket.close()
 if __name__ == '__main__':
 send_message()
接受数据
- 设计思路:  
- 参考代码: - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31- import socket 
 def server():
 # 创建套接字
 server_tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 # 绑定IP和端口
 server_tcp_client.bind(('', 8080))
 # 激活套接字的监听服务
 server_tcp_client.listen(128)
 while True:
 # 监听tcp客户端的链接,监听到的时候,此时会返回一个新的套接字对象、客户端IP和端口
 new_tcp_socket, client_addr = server_tcp_client.accept()
 print(str(new_tcp_socket) + '\n' + str(client_addr))
 # 接受客户端发送来的请求,接受到的是发送的文本信息
 while True:
 # 此处Recv
 message = new_tcp_socket.recv(1024)
 if message:
 print(message.decode('utf-8'))
 else:
 break
 # 关闭新的客户端的服务
 new_tcp_socket.close()
 # 关闭监听的套接字服务
 server_tcp_client.close()
 if __name__ == '__main__':
 server()
作业
- 编写TCP下载文件客户端- 编写TCP文件下载服务端
 
