一、创建一个TCP即时通讯
1.1 服务器端代码
import socket
#创建ip和端口号
ip_port=("127.0.0.1",9999)
#创建句柄
sk=socket.socket()
#绑定ip和端口号
sk.bind(ip_port)
#创建最大连接数
sk.listen(5)
#接收和回复数据
conn,addr=sk.accept()
client_data=conn.recv(1024)
print(client_data.decode("utf-8"))
conn.send("今天最高温度30°,最低温度17°,请注意防暑降温".encode("utf-8"))
conn.close()
1.2客户端代码
import socket
#连接服务器的Ip和端口号
ip_port=("127.0.0.1",9999)
#生成句柄
sk=socket.socket()
#连接服务器端
sk.connect(ip_port)
#客户端发送数据
sk.send("今天的天气?".encode("utf-8"))
server_reply=sk.recv(1024)
print(server_reply.decode("utf-8"))
sk.close()
1.3运行结果

二、创建一个UDP即时通讯
2.1 服务器端代码
#UDP服务器端
#encoding=utf-8
from socket import *
ip=""
port=1200
bufsize=128
ADDR=(ip,port)
#创建套接字连接
#AF_INET 面向网络,SOCK_DGRAM 无连接的方式
udpserver=socket(AF_INET,SOCK_DGRAM)
udpserver.bind(ADDR)
#接收数据
data,addr=udpserver.recvfrom(bufsize)
print(data.decode("utf-8"))
#回复数据
udpserver.sendto("已经收到数据".encode("utf-8"),addr)
#关闭连接
udpserver.close()
2.2 客户端代码
#udp客户端
#encoding=utf-8
from socket import *
ip="localhost"
port=1200
bufsize=128
ADDR=(ip,port)
#创建套接字连接
udpclient=socket(AF_INET,SOCK_DGRAM)
#发送数据
data=input(">")
udpclient.sendto(data.encode("utf-8"),ADDR)
#接收数据
data,ADDR=udpclient.recvfrom(bufsize)
print(data.decode("utf-8"))
#关闭连接
udpclient.close()
2.3 运行结果

本文介绍了如何使用Python3进行TCP和UDP即时通讯。首先展示了TCP服务器端和客户端的代码实现,包括接收和回复数据的过程。接着详细说明了UDP服务器端和客户端的建立,包括发送和接收数据的步骤。最后给出了各自运行的结果。
348

被折叠的 条评论
为什么被折叠?



