037.Python的UDP语法
2021-03-05 14:28
标签:查看端口 name com nav 服务器 end val tcp 服务端 执行 服务端 客户端 先执行服务端 [root@node10 tcp]# python3 server.py 被阻塞,查看端口信息 再执行客户端 服务端收到消息 服务端 客户端 执行 服务端 客户端 执行 037.Python的UDP语法 标签:查看端口 name com nav 服务器 end val tcp 服务端 原文地址:https://www.cnblogs.com/wangsirde0428/p/14322642.html
UDP语法
1 创建一个socket的UDP对象
import socket
#创建对象 socket.SOCK_DGRAM 代表UDP协议
sk = socket.socket(type=socket.SOCK_DGRAM)
print (sk)
[root@node10 tcp]# python3 server.py
type=SocketKind.SOCK_DGRAM,
proto=0,
laddr=(‘0.0.0.0‘, 0)>2 创建UAP连接
import socket
#创建对象 socket.SOCK_DGRAM 代表UDP协议
sk = socket.socket(type=socket.SOCK_DGRAM)
#在网络中注册该主机
sk.bind ( ("127.0.0.1",9000) )
#udp服务器,第一次启动时,一定是先接收数据,在发送数据
msg,cli_addr = sk.recvfrom(1024)
print (msg.decode("utf-8"))
#关闭udp连接
sk.close()
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
#sendto (要发送的消息,(IP地址,端口号))
sendto ("Nice to meet you!".encode("utf-8"),("127.0.0.1",9000) )
#关闭连接
sk.close()
[root@node10 tcp]# python3 server.py
Nice to meet you!
3 循环发消息
#服务端
import socket
#创建对象 socket.SOCK_DGRAM 代表UDP协议
sk = socket.socket(type=socket.SOCK_DGRAM)
#在网络中注册该主机
sk.bind ( ("127.0.0.1",9000) )
#udp服务器,第一次启动时,一定是先接收数据,在发送数据
while True:
msg,cli_addr = sk.recvfrom(1024)
print (msg.decode("utf-8"))
print (cli_addr)
#关闭udp连接
sk.close()
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
#sendto (要发送的消息,(IP地址,端口号))
while True:
message = input("Please input the value:")
sk.sendto (message.encode("utf-8"),("127.0.0.1",9000) )
#关闭连接
sk.close()
[root@node10 tcp]# python3 server.py
Hello #服务端接收的消息
(‘127.0.0.1‘, 34236) #打印出客户端的地址端口
Nice to meet you!
(‘127.0.0.1‘, 34236)
[root@node10 tcp]# python3 client.py #客户端发送消息
Please input the value:Hello
Please input the value:Nice to meet you!
4 服务端同时发送消息给客户端
#服务端
import socket
#创建对象 socket.SOCK_DGRAM 代表UDP协议
sk = socket.socket(type=socket.SOCK_DGRAM)
#在网络中注册该主机
sk.bind ( ("127.0.0.1",9000) )
#udp服务器,第一次启动时,一定是先接收数据,在发送数据
while True:
msg,cli_addr = sk.recvfrom(1024)
print (msg.decode("utf-8"))
print (cli_addr)
#发送消息
message = input("Please input your vaule>>>:")
sk.sendto(message.encode("utf-8"),cli_addr)
#关闭udp连接
sk.close()
import socket
sk = socket.socket(type=socket.SOCK_DGRAM)
#sendto (要发送的消息,(IP地址,端口号))
while True:
message = input("Please input the value:")
sk.sendto (message.encode("utf-8"),("127.0.0.1",9000) )
#接收数据
msg,ser_addr = sk.recvfrom(1024)
print (msg.decode("utf-8"))
#关闭连接
sk.close()
[root@node10 tcp]# python3 server.py
Hi #服务端接收数据
(‘127.0.0.1‘, 41800)
Please input your vaule>>>:Hi #服务端发送的数据
Nice to meet you!
(‘127.0.0.1‘, 41800)
Please input your vaule>>>:Nice to meet you too!
[root@node10 tcp]# python3 client.py
Please input the value:Hi #客户端发送数据
Hi #客户端接收到的数据
Please input the value:Nice to meet you!
Nice to meet you too!
Please input the value: