python基础—网络编程
2024-01-08 05:17:18
网络基本协议
TCP协议
UDP协议
二者对比:
连接性:
TCP是面向连接的协议,需要在传输数据之前先进行三次握手建立连接。而UDP是无连接的协议,可以直接发送数据,无需事先建立连接。
可靠性:
TCP提供了数据传输的确认和重传机制,能保证数据按照发送的顺序进行接收,并且对丢包有一定的检测和恢复能力。而UDP则没有这样的保证,可能会导致数据的丢失、重复或乱序。
速度:
由于TCP的可靠性和确认机制,其处理速度相对较慢。而UDP由于其简单性,处理速度较快,适用于实时应用如音频和视频流。
P的首部开销比UDP的首部开销大。TCP头部固定20字节,而UDP头部固定8字节。
python实现网络编程的基本模块-socket模块
使用python实现tcp协议
TCP协议
服务器端
import socket
sk = socket.socket()
sk.bind(("127.0.0.1",9001))
sk.listen()
while True:
print("正在等待连接")
coon,addr = sk.accept()
msg = coon.recv(1024).decode("utf-8")
print(msg)
coon.send("我是服务器".encode("utf-8"))
coon.close()
客户端
import socket
import time
sk = socket.socket()
sk.connect(("127.0.0.1",9001))
sk.send("我是客户端".encode("utf-8"))
msg = sk.recv(1024).decode("utf-8")
print(msg)
time.sleep(1)
print("通信结束")
sk.close()
UDP协议
服务器端
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
sk.bind(("127.0.0.1",9001))
msg,addr = sk.recvfrom(1024)
print(msg.decode("utf-8"))
sk.sendto("我是服务器".encode("utf-8"),addr)
客户端
import socket
import time
sk = socket.socket(type=socket.SOCK_DGRAM)
sk.sendto("我是客户端".encode("utf-8"),("127.0.0.1",9001))
msg = sk.recv(1024).decode("utf-8")
print(msg)
sk.close()
#:可以在此基础上进行修改,以实现各种功能
import socket
import time
import random
while True:
sk = socket.socket(type=socket.SOCK_DGRAM)
s = random.randint(1,10)
sk.sendto("我是客户端{}".format(s).encode("utf-8"),("127.0.0.1",9001))
msg = sk.recv(1024).decode("utf-8")
time.sleep(2)
print(msg)
对客户端进行循环操作,使其没两秒发送一次消息
文章来源:https://blog.csdn.net/qq_63781342/article/details/135391825
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!