看情况选择相对应的套接字
*面向连接的传输--tcp协议--可靠的--流式套接字(SOCK_STREAM)
*面向无连接的传输--udp协议--不可靠的--数据报套接字(SOCK_DGRAM)
在liunx中 telnet ip port 可以当成临时客服端
服务端示例: 创建服务端示例: from socket import * #创建套接字(参数:地址族类型,套接字类型,选定子协议类型) sockfd = socket(AF_INET,SOCK_STREAM,proto = 0) #绑定地址(功能:绑定地址,参数(ip,port)) sockfd.bind(("0.0.0.0",9099)) #设置监听(参数:监听队列的大小) sockfd.listen(5) #等待接收连接(会进行阻塞,当客户端连接就往下运行) #返回值:connfd 新的套接字,用于和客户端通信,add 连接客户端的地址(ip,port) print("Waiting for connect...") connfd,addr = sockfd.accept() print("Connect from",addr) #收发消息(没接收到消息也会进行阻塞) #参数:一次接收消息的大小字节(bytes格式) data = connfd.recv(1024) print(data) #要发送的内容(bytes格式),返回实际发送的字节数 n = connfd.send(b"Receive your message") print(n) #关闭套接字 connfd.close() sockfd.close() 客户端示例: from socket import * #创建套接字 sockfd = socket(AF_INET,SOCK_STREAM) #发起连接 server_addr = ("127.0.0.1",9099) sockfd.connect(server_addr) #收发消息 data = input("发送>>") sockfd.send(data.encode()) #将字符串转换成二进制 data = sockfd.recv(1024) print("接收到:",data.decode()) #关闭字节套 sockfd.close()
原文地址:https://www.cnblogs.com/zengsf/p/9595241.html
时间: 2024-10-01 21:35:48