基于UDP的客户端服务端通信(Python)

客户端(需要预先知道服务端地址,IP地址和端口号)

from socket import *
servername = 'hostname/ip address' //服务器IP地址或者主机名
serverPort = 12000                 //服务器端口号
clientSocket = socket(AF_INET, SOCK_DGRAM)        //创建socket
message = input('Input lowercase sentence:')      //输入小写字符串
message = str.encode(message)                     //str转成byte
clientSocket.sendto(message, (servername, serverPort))           //message发送至服务器,同时会自动发送客户端IP和端口号给服务器
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)    //接收服务器回送的message
print (modifiedMessage)
clientSocket.close()    //关闭socket

服务端

from socket import *
serverPort = 12000 //服务器端口号12000
serverSocket = socket(AF_INET, SOCK_DGRAM)  //创建socket,两个参数代表ipv4和UDP
serverSocket.bind(('', serverPort))         //将socket与端口号12000绑定
print ('The server is ready to receive')
while True:
    message, clientAddress = serverSocket.recvfrom(2048)   //等待接收客户端的消息,2048为缓存大小
    modifiedMessage = message.upper()                      //将接收到的转成大写
    serverSocket.sendto(modifiedMessage, clientAddress)    //回送消息至客户端,客户端地址由ip地址和端口号组成
    print('received')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值