Python之TCP客户端-服务端程序开发
2021-01-19 本文已影响0人
涓涓自然卷
TCP客户端程序开发
- 代码🌰
import socket
if __name__ == '__main__':
# 1、创建客户端套接字对象
tcp_client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2、和服务端套接字建立连接
tcp_client_socket.connect(("XXX.XXXX.161.XXX", 8080) )
# 3、发送数据
tcp_client_socket.send("nihaome".encode(encoding="utf-8"))
# 4、接收数据
recv_data = tcp_client_socket.recv(1024)
print(recv_data.decode())
# 5、关闭客户端套接字
tcp_client_socket.close()
TCP服务端程序开发
- 代码🌰
import socket
if __name__ == '__main__':
# 1、创建服务端套接字对象
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置端口复用
tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
# 2、绑定IP地址和端口号
# tcp_server_socket.bind(("10.4.161.48", 8888))
# 如果bind中的参数第一个IP地址元素设置为"",就是默认为 本机IP地址
tcp_server_socket.bind(("", 8888))
# 3、设置监听 128:代表服务端等待排队连接的最大数量
tcp_server_socket.listen(128)
# 4、等待接受客户端的连接请求 accept阻塞等待 返回一个用以和客户端通讯socket,客户端的地址
conn_socket,ip_port = tcp_server_socket.accept()
print("客户端地址:", ip_port)
# 5、接收数据
recv_data = conn_socket.recv(1024)
print("接受到的数据", recv_data.decode())
# 6、发送数据
conn_socket.send("客户端你的数据我收到了。".encode())
# 7、关闭套接字
conn_socket.close()
tcp_server_socket.close()