标签:while decode from gbk __init__ 客户端 udp编程 code bre
1丶创建套接字
2丶绑定端口(非必须)
3丶发送和接收数据
4丶关闭套接字
import socket
class UdpSocket(object):
def __init__(self,ip,port):
self.ip = ip
self.port = port
def create_socket(self):
# 创建套接字
self.udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本地ip和端口,元祖类型
self.udp_socket.bind((self.ip,self.port))
def send_data(self):
self.create_socket()
while True:
senddata = input("请输入要发送的信息:")
if senddata == "exit":
break
# 发送的数据需要encode编码成二进制,同时指定接收方的ip和端口
self.udp_socket.sendto(senddata.encode("utf-8"), ("192.168.1.50", 6666))
#关闭套接字
self.udp_socket.close()
def recv_data(self):
self.create_socket()
while True:
# recv_data = self.udp_socket.recv(1024) #只接收用户发过来的数据
recv_data,recv_user_info = self.udp_socket.recvfrom(1024) #接收的数据包含用户ip和端口信息以及数据
#打印接收的数据,注意编码,二进制转化成十进制decode
print("客户端%s:%s" %(str(recv_user_info),recv_data.decode("gbk")))
# print(recv_data)
self.udp_socket.close()
from udp import *
def main():
udpsocket = UdpSocket("",7890)
# udpsocket.send_data()
udpsocket.recv_data()
if __name__ == ‘__main__‘:
main()
标签:while decode from gbk __init__ 客户端 udp编程 code bre
原文地址:https://www.cnblogs.com/lovelinux199075/p/9561975.html