基于python3 的TCP和UDP即时通讯

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

一、创建一个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 运行结果

 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值