Python Socket UDP 实现一个两端聊天功能

实现client端于server端进行socket UPD通信
Client端向Server端发起消息,Server端收到之后进行回复
Server端代码
import socket
'''
    思路:
        1、建立socket
        2、绑定ip和port
        3、接受访问
        3、消息回馈
'''

def ServerApp():

    # 1、建立socket
    # socket.AF_INET:使用ipv4协议
    # socket.SOCK_DGRAM:使用UDP通信
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 2、绑定ip和port
    # 192.168.200.2 这是Server端的IP地址
    # 1914 端口
    # 地址是一个tuple类型,(ip,port)
    addr = ("192.168.200.2", 1914)
    sock.bind(addr)

    # 3、接受消息
    # 等待方式为四等、一直等待接受消息
    # recvfrom 接收铺得返回值因为有个元祖(tuple)、前一项表示数据,后一项表示地址
    # data为对方发送的消息、addr为对方的ip地址
    data, addr = sock.recvfrom(500)
    # 查看对方传过来的数据、以及数据类型
    # print(data)
    # print(type(data))

    # 发送过来的是bytes格式,必须通过解码才能得到str格式的内容,如何解码?
    text = data.decode()
    print(text)
    # print(type(text))

    # 4、消息回馈
    # 第四步可以不用做,但是为了练习,测试一下嘛
    # 给对方返回的消息
    rsp = "好的,我收到了 谢谢"
    # 发送的数据也需要编码成bytes格式
    # 默认为utp8   rsp.encode(默认为utp8)
    data = rsp.encode()
    sock.sendto(data, addr)

if __name__=='__main__':
    print("Starting Server......")
    ServerApp()
    print("Ending Server......")

Client端代码

import socket
'''
-   Client端流程
        1、建立通信的Socket
        2、发送内容到指定服务器
        3、接受服务器给定的反馈内容
'''


def ClientApp():
    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    text = input("请输入你的留言:")
    data = text.encode()
    # 发送
    sock.sendto(data, ("192.168.200.2", 1914))

    data, addr = sock.recvfrom(500)

    data = data.decode()
    print(data)

if __name__ == '__main__':
    ClientApp()
原文地址:https://www.cnblogs.com/laod/p/12980663.html