python学习笔记(46) 基于udp协议的socket

udp的sever不需要监听也不需要建立连接

启动后只能被动等待客户端发消息过来

客户端发送消息的同时还自带地址信息

回复消息的时候不仅需要发送消息,还要把对方的地址填上

SEVER:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM) #datagram
sk.bind(('127.0.0.1',8080))
while 1:
msg,addr = sk.recvfrom(1024)
print(addr)
print(msg.decode('utf-8'))
info = input('>>>').encode('utf-8')
sk.sendto(info,addr)

sk.close()

CLIENT1:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM)

ip_port = ('127.0.0.1',8080) #ip和端口号的元组
while 1:
info = input('二哥:')
info = ('\33[32m来自二哥的消息:%s\33[0m'%info).encode('utf-8')
sk.sendto(info,ip_port)
ret,addr = sk.recvfrom(1024)
print(ret.decode('utf-8'))

sk.close()

CLIENT2:

import socket
sk = socket.socket(type=socket.SOCK_DGRAM)

ip_port = ('127.0.0.1',8080) #ip和端口号的元组
while 1:
info = input('泰哥:')
info = ('\33[34m来自泰哥的消息:%s\33[0m' % info).encode('utf-8')
sk.sendto(info,ip_port)
ret,addr = sk.recvfrom(1024)
print(ret.decode('utf-8'))

sk.close()

猜你喜欢

转载自www.cnblogs.com/farion/p/9940905.html