目录
服务端(server)
socket_client.py
import socket
#用的协议必须是同一个(要不然交流根本听不懂啊)
# 1、创建服务器的socket对象
tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2、绑定IP和端口
tcp_server_socket.bind(("", 8899)) #IP不填代表本机.端口随便填,后面要监听.
# 3、设置监听,客户端连接需要排队.(最大数量)
tcp_server_socket.listen(128)
# 4、接受客户端的IP地址和端口
server_client_socket, ip_port = tcp_server_socket.accept()
print(f"客户端的IP地址和端口:{ip_port}")
# ------------------------------------------------------------
# 5、接受客户端发送过来的数据 接受数据的大小 (字节)
recv_data = server_client_socket.recv(1024)
# 6、获取并打印数据长度
recv_data_length = len(recv_data)
print(f"接受到的数据的长度:{recv_data_length}")
# 7、接受客户端的信息(内容),解码
recv_content = recv_data.decode("utf-8")
print(f"接收到的客户端的信息是:{recv_content}")
# --------------------------------------------------------
# 8、服务端发送数据给客户端
send_data = "我已收到,正在处理...".encode("utf-8")
server_client_socket.send(send_data)
# ---------------------------------------------------
# 9、第一次关闭:服务端与客户端的套接字,终止客户端的通信.
server_client_socket.close()
tcp_server_socket.close()
客户端(client)
socket_client.py
import socket
#用的协议必须是同一个(要不然交流根本听不懂啊)
# 1、创建客户端的socket对象
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2、和服务端的套接字进行连接
tcp_client_socket.connect(("127.0.0.1", 8899))
# ------------------------------------------------------
# 3、客户端发送数据给服务器
send_data = "hello,server,i am client".encode("utf-8")
tcp_client_socket.send(send_data)
# ------------------------------------------------
# 4、接受服务端发送过来的数据,并解码
recv_content = tcp_client_socket.recv(1024).decode("utf-8")
print(f"接收到服务器的消息为:{recv_content}")
# ---------------------------------------------
# 5、关闭连接
tcp_client_socket.close()