python socket 简单通信

Socket 工作原理和基本概念

Socket 的中文翻译是套接字,它是 TCP /IP网络环境下应用程序与底层通信驱动程序之间运行的开发接口,它可以将应用程序与具体的 TCP /IP隔离开来,使得应用程序不需要了解 TCP /IP的具体细节,就能够实现数据传输。

详细了解可以参考以下:

链接: socket.

服务端参考代码

代码片.

import socket
def serverTask():
    #创建socket
    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#udp,
    #绑定到本地ip和端口
    socket_udp.bind(('127.0.0.1', 60001))
    #循环接收客户端发送的udp报文
    while True:
        try:
            recvdatas, address = socket_udp.recvfrom(128)
            recvmessage = recvdatas.decode("utf-8")
            print("收到来自{}的消息:{}".format(address[0],recvmessage))
            #回复消息给客户端
            backmessage = "【" + recvmessage+"】已经收到!"
            socket_udp.sendto(backmessage.encode("utf-8"),address)
        except Exception as erro:
            print(f"异常:{erro}",)
    socket_udp.close()

if __name__ == "__main__":
    serverTask()

客户端参考代码

import socket
def clientTask():
    # 创建socket
    socket_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#udp,
    while True:
        senddatas= input("请输入发送数据:")
        socket_udp.sendto(senddatas.encode("gb2312"), ('127.0.0.1', 60001))
        #收取服务端的回应
        recvdatas, address = socket_udp.recvfrom(1024)
        print("收到来自{}的消息:{}".format(address[0], recvdatas.decode("utf-8")))
        if senddatas == 'quit':
            break
    #关闭socket
    socket_udp.close()

if __name__ == "__main__":
    clientTask()


效果图

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_.Switch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值