Python简易TCP服务端,多进程版

使用多进程,面向对象的方式建立tcp服务器,实现多连接,重复响应

使用多进程,可以重复建立连接,一次连接中,另外一个客户端也可以连接服务器
import socket
import multiprocessing


class TcpSever:
    #init方法初始化服务器,设置socket套接字,绑定端口,等待连接,
    #在创建类对象时即可初始化这些属性
    def __init__(self):
        self.tcp_sever = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.tcp_sever.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
        self.tcp_sever.bind(('',10000))
        self.tcp_sever.listen(128)

    def kernel(self, sever, ip_port):
        #循环重复接收并相应数据,数据需要编解码
        while True:
            data = sever.recv(1024)
            sever.send()

    def run(self):
        #run 方法建立连接,启用多进程实现多链接
        while True:
            new_sever, ip_port = self.tcp_sever.accept()

            m1 = multiprocessing.Process(target=self.kernel, args=(new_sever, ip_port))

            m1.start()

            new_sever.close()


def main():
    #main方法创建类对象,调用run方法启用服务器
    sever = TcpSever()
    sever.run()


if __name__ == '__main__':
    main()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值