900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 网络编程 基础 基于socket的tcp和udp连接

网络编程 基础 基于socket的tcp和udp连接

时间:2020-11-01 05:06:29

相关推荐

网络编程  基础   基于socket的tcp和udp连接

网络开发的框架

C/S B/S 架构

程序都是bs架构的程序(b指浏览器,s指服务器)c(client)是客户端,s(server)是服务器bs架构是cs架构的一种未来的趋势, pc端bs架构,统一了程序的入口手机端 微信公众号,统一了程序的入口

socket

起一个tcp协议的socket进行通信

# tcp协议#客户端# import socket# rev = socket.socket()# # rev.bind(("ip地址",端口号))#端口号一般取8000- 9999# rev.listen() #开启服务端# # msg,addr = rev.accept()#三次握手过程,显示连接服务端的用户端地址# msg.send("你好".encode("utf-8")) #给用户端发消息,需要进行编码# mv = msg.recv(1024) #接受用户端回的消息,限制一次接受的最大字节# print(mv.decode("utf-8")) #打印接受到的消息,需要解码# msg.close() #关闭用户端的连接# rev.close() #关闭服务端

# 用户端# import socket# cli = socket.socket()# cli.connect(("ip地址",端口号)) #连接服务端# msg = cli.recv(1024) #接收信息# print(msg.decode("utf-8")) #打印消息# mv = input("》》》》》:")# cli.send(mv.encode("utf-8")) #发消息# cli.close() #关闭用户端

利用端口传输视频

import socketrev = socket.socket()rev.bind(("127.0.0.1",8989))rev.listen()conn,addr = rev.accept()filname = conn.recv(1024)with open(filname.decode("utf-8"),"wb") as f:while True:content = conn.recv(1024)if content == b"ok":breakf.write(content)print("接收完毕")conn.close()rev.close()import timeimport osimport socketcli = socket.socket()cli.connect(("127.0.0.1",8989))cli.send("file".encode("utf-8"))time.sleep(0.1)size = os.path.getsize("file")with open("file","rb") as f:while size:content = f.read(1024)size -= len(content)cli.send(content)cli.send(b"ok")print("传输完毕")cli.close()

起一个udp协议的socket进行通信

# udp协议# import socket# rev = socket.socket(type=socket.SOCK_DGRAM)# rev.bind(("ip地址",端口号))## msg,addr = rev.recvfrom(1024) #接收到的消息# print(msg.decode("utf-8"))# rev.sendto("你好".encode("utf-8",addr)) #发消息,需要对方的ip地址# rev.close() #关闭端口# import socket# cli = socket.socket(type=socket.SOCK_DGRAM)# cli.sendto("信息".encode("utf-8"),("ip地址",端口号)) #发消息# mv,addr = cli.recvfrom(1024)#接收信息和ip地址# print(mv.decode("utf-8")) #打印信息# cli.close() #关闭端口

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。