协程实现tcp两个客户端的通讯

简介: import socketimport geventfrom gevent import monkeymonkey.patch_all()def cb_work(recv_num,send_num): while True: recv_data=list_client[recv_num][0].
import socket
import gevent

from gevent import monkey
monkey.patch_all()

def cb_work(recv_num,send_num):
    while True:
        recv_data=list_client[recv_num][0].recv(1024).decode("gbk")
        if recv_data:
            list_client[send_num][0].send(recv_data.encode("gbk"))
        else:
            break
    list_client[recv_num][0].close()
if __name__=="__main__":
    #创建套接字
    tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

    #端口复用
    tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
    #绑定地址
    tcp_server_socket.bind(("",8080))
    #监听
    tcp_server_socket.listen(128)
    #等待
    list_client=[]
    list_gevent=[]
    for i in range(2):
        list_client.append(tcp_server_socket.accept())
        if i==1:
            list_gevent.append(gevent.spawn(cb_work,*(i,0)))
        else:
            list_gevent.append(gevent.spawn(cb_work,*(i,1)))

    gevent.joinall(list_gevent)

    tcp_server_socket.close()

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
网络协议 算法
【网络篇】第十二篇——TCP协议通讯流程
【网络篇】第十二篇——TCP协议通讯流程
【网络篇】第十二篇——TCP协议通讯流程
|
网络协议 Java
Java BIO tcp服务端向客户端消息群发代码教程实战
java BIO tcp服务端向客户端消息群发代码教程实战
186 0
|
缓存 网络协议 Java
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
350 0
在项目中使用Curator的Java 客户端搭建后进行长TCP连接和TCP权限配置【Zookeeper】
|
网络协议 安全 网络架构
Tcp 客户端 | 学习笔记
快速学习 Tcp 客户端
Tcp 客户端 | 学习笔记
|
网络协议 C++
C++网络通信实例(TCP/IP协议,包括服务端与客户端通信)
C++网络通信实例(TCP/IP协议,包括服务端与客户端通信)
639 0
C++网络通信实例(TCP/IP协议,包括服务端与客户端通信)
|
网络协议
海思3559万能平台搭建:TCP客户端网口编程
海思3559万能平台搭建:TCP客户端网口编程
214 0
|
网络协议
TCP客户端与服务端
Socket(简称:套接字)是进程之间通信的一个工具,好比现实中的插座,所有的家用电器要想工作都是基于插座进行,进程之间想要进行网络通信需要基于这个socket,负责进程之间的网络数据传输,好比数据的搬运工
321 0
TCP客户端与服务端
|
网络协议 图形学
Unity【Socket TCP】- 服务端与客户端通讯的简单示例
Unity【Socket TCP】- 服务端与客户端通讯的简单示例
827 0
Unity【Socket TCP】- 服务端与客户端通讯的简单示例
|
网络协议
TCP编程中的客户端与服务端的通信实现
TCP编程中的客户端与服务端的通信实现
151 0
|
网络协议 C#
C#编程-60:简单的TCP通讯实例
C#编程-60:简单的TCP通讯实例
217 0
C#编程-60:简单的TCP通讯实例