起一个tcp协议的socket进行通讯
python
# 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 socket rev = 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":break f.write(content) print("接收完毕") conn.close() rev.close() import time import os import socket cli = 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() #关闭端口