Live2D 看板娘 / Demo

写一个Python简单的Socket网络通讯

完成需求

用Python完成一个简单的Socket通讯实例

1. 服务端

用于提供服务

源码:

import socket

s = socket.socket() # 创建服务器端套接字

# sk.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 设置给定套接字选项的值。

s.bind(('127.0.0.1', 8000)) # 把地址绑定到套接字

s.listen() # 监听连接

conn, addr = s.accept() # 接受客户端链接
while True:
    
    ret = conn.recv(1024) # 接收客户端信息
    
    print(ret.decode('utf-8')) # 打印客户端信息

    # 结束会话
    if ret == b'bye':
        conn.send(b'bye')
        break
    info = input('>>>') # 等用户按下Enter时再次让用户输入
    conn.send(bytes(info, encoding='utf-8'))

conn.close() # 关闭客户端链接

s.close()  # 关闭服务器套接字

2. 客户端

用于请求服务

源码:

import socket

s = socket.socket()  # 创建客户端套接字      

s.connect(('127.0.0.1',8000)) # 连接服务器
while True:
    
    info = input('>>>') # 用户输入的信息
    s.send(bytes(info,encoding='utf-8')) # 发送输入的信息
    
    ret = s.recv(1024) # 接收信息
    # 结束会话
    if ret == b'bye':
        s.send(b'bye')
        break
    
    print(ret.decode('utf-8')) # 打印信息

s.close() # 关闭客户端套接字 
posted @   土豆煮石头  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示