zl程序教程

您现在的位置是:首页 >  其他

当前栏目

TCP套接字

2023-03-14 09:45:36 时间

TCP服务器端编程一般步骤:

  1. 创建socket,用函数socket();
  2. 设置socket属性,用函数setsocket();
  3. 绑定IP地址、端口等信息到socket上,用函数bind();
  4. 开启监听,用函数listen();
  5. 接收从客户端来的网络连接,用函数accept();
  6. 收发数据,用函数send()和recv(),或者read()和write()
  7. 关闭网络连接;
  8. 关闭监听。

TCP客户器端编程一般步骤:

  1. 创建socket,用函数socket();
  2. 设置socket属性,用函数setsocket();
  3. 绑定IP地址、端口等信息到socket上,用函数bind();
  4. 设置要连接的对方的IP地址和端口等属性;
  5. 连接服务器,用函数connect();
  6. 收发数据,用函数send()和recv(),或者read()和write()
  7. 关闭网络连接。
 1 TCP服务器
 2 from socket import *
 3 
 4 server_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP
 5 server_socket.bind("192.168.6.18", 805) #绑定IP地址和端口号
 6 server_socket.listen(2) #启动监听,2表示挂起等待连接队列的最大长度
 7 
 8 connect_socket, address = server_socket.accept() #开启接收
 9 info = connect_socket.recv(1024).decode() #接收长度为1024的字节并解码为utf-8字符
10 connect_socket.send(info.upper().encode()) #将utf-8字符编码为字节发送
11 
12 connect_socket.close() #关闭连接
 1 TCP客户端
 2 from socket import *
 3 
 4 client_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP
 5 client_socket.connect("192.168.6.18", 805) #连接
 6 
 7 client_socket.send("以心印心".encode())  #发送字符编码后的字节
 8 message = client_socket.recv(1024).decode() #接收字节并解码为字符
 9 
10 client_socket.close() #断开客户端连接