Python实现TCP通讯

发布于 2022-04-14  630 次阅读


一.创建服务端:

1.需要先导入socket库:

import socket 

2.创建 socket :

#socket.AF_INET 表示指定使用 IPv4 协议
#SOCK_STREAM 指定使用面向流的 TCP 协议
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  

3.绑定监听地址和端口:

tcp_server_socket.bind(('192.168.10.1', 6666)) 

4.开始监听指定等待连接的最大数量:

tcp_server_socket.listen(64)

5通过ServerSocket的accept()方法设置一个阻塞:

client_socket= tcp_server_socket.accept()

6.接收数据:

recv_data=client_socket.recv(1024)  #每次最多接收1k字节
print('接收到:', recv_data.decode('utf-8'))  
 7.向客户端反馈数据:
client_socket.send("收到".encode('utf-8'))

8.关闭连接:

client_socket.close()

9.代码:

import socket 
#socket.AF_INET 表示指定使用 IPv4 协议
#SOCK_STREAM 指定使用面向流的 TCP 协议
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
tcp_server_socket.bind(('192.168.10.1', 6666)) 
tcp_server_socket.listen(64)
client_socket= tcp_server_socket.accept()
clientAddr = client_socket[1]
client_socket = client_socket[0]
recv_data=client_socket.recv(1024)  #每次最多接收1k字节
print('接收到:', recv_data.decode('utf-8'))  
client_socket.send("收到".encode('utf-8'))
client_socket.close()

二.创建客户端

1.和服务端相同

import socket
tcp_client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

2.连接服务端:

tcp_client_socket.connect(('192.168.10.1', 6666))

3.发送信息到服务端;

send=input("请输⼊需要发送数据:")
tcp_client_socket.send(send.encode("utf-8"))

4.接收服务端反馈数据:

feedback=tcp_client_socket.recv(1024)
print('接收到数据:', feedback.decode('utf-8'))

5.关闭连接:

tcp_client_socket.close()

6.代码:

import socket
tcp_client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp_client_socket.connect(('192.168.10.1', 6666))
send=input("请输⼊需要发送数据:")
tcp_client_socket.send(send.encode("utf-8"))
feedback=tcp_client_socket.recv(1024)
print('接收到数据:', feedback.decode('utf-8'))
tcp_client_socket.close()