'''
基于socket实现的多任务版TCP服务端
'''
import socket
import threadingdef client_task(client_socket,ip_port):print(ip_port,'加入连接')# 持续接收客户端的消息while True:data=client_socket.recv(1024).decode('gbk')if len(data)!=0:print(f'客户端{ip_port[0]}发来的信息是{data}')else:print(f'客户端{ip_port[0]}已经断开连接')breaksend_data=('Hello--'+data).encode('gbk')client_socket.send(send_data)if __name__ == '__main__':server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)server_socket.bind(('',7777))server_socket.listen(128)# 循环接收客户连接while True:client_socket,ip_port=server_socket.accept()    # 会一直等待接收连接t_client=threading.Thread(target=client_task,args=(client_socket,ip_port))t_client.setDaemon(True)t_client.start()

面向对象版本

'''
基于socket实现的多任务版TCP服务端(面向对象)
'''import socket
import threadingclass SocketServer(object):def __init__(self, port):self.server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)self.server_socket.bind(('', port))self.server_socket.listen(128)def start(self):# 循环接收客户连接while True:client_socket, ip_port = self.server_socket.accept()  # 会一直等待接收连接t_client = threading.Thread(target=self.client_task, args=(client_socket, ip_port))t_client.setDaemon(True)t_client.start()def client_task(self,client_socket, ip_port):print(ip_port, '加入连接')# 持续接收客户端的消息while True:data = client_socket.recv(1024).decode('gbk')if len(data) != 0:print(f'客户端{ip_port[0]}发来的信息是{data}')else:print(f'客户端{ip_port[0]}已经断开连接')breaksend_data = ('Hello--' + data).encode('gbk')client_socket.send(send_data)if __name__ == '__main__':server_socket=SocketServer(7777)server_socket.start()

Python基于socket实现的多任务版TCP服务端相关推荐

  1. Python基于socket实现的TCP服务端

    ''' 基于socket实现的TCP服务端 '''import socket # 建立socket对象 server_socket=socket.socket(socket.AF_INET,socke ...

  2. 使用python基于socket的tcp服务器聊天室

    # coding=utf-8 import socket,threading,time '''代码说明:1.创建一个字典用于接受客户端的用户名和信息2.创建一个类对象client用于编写客户端套接字对 ...

  3. 基于socket网络编程技术实现TCP和UDP的流程详解及实例

    具体函数讲解太多,根据程序自行分析. 可以参考这篇文章: https://blog.csdn.net/qq_41687938/article/details/119102328?spm=1001.20 ...

  4. python基于socket进行端口转发实现后门隐藏

    python基于socket进行端口转发实现后门隐藏 思想: 用户正常浏览器访问请求通过8080端口,请求若为http请求,则正常转发到80端口保证网站正常运行.否则转发到8888端口执行系统命令. ...

  5. pythontcp服务器如何关闭阻塞_python实现单线程多任务非阻塞TCP服务端

    本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * # 1.创建服务器soc ...

  6. 2-3 建立简易TCP服务端、客户端【socket server/client】【socket、bind、listen、accept、send、closesocket】【conect、recv】

    2-3 建立简易TCP服务端.客户端 文章目录 2-3 建立简易TCP服务端.客户端 0-前言 1-服务端简易功能 2-客户端简易功能 3-代码逻辑 4-服务端 4-1 建立socket 4-2 绑定 ...

  7. twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间

    twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间 目录 输出结果 实现代码 输出结果 更新-- 实现代码 #基于python的twisted框架编写一个简单的聊 ...

  8. MFC:Socket编程—TCP服务端和多个客户端通信

    前言 MFC是微软基础类库,于 C++ 对于 C语言来说,MFC对于window API ,MFC 就相当于C++,window API 相当于C.MFC 封装了 window API 使用起来更加的 ...

  9. windows Socket编程之TCP服务端与客户端

    在前面的文章中有一篇讲到了命名管道通信,它是创建一根管道来进行进程之间或网络之间通信的.但是它有些缺陷,比如说效率较低等.而从这篇文章开始将介绍socket编程.socket是通过TCP,UDP,IP ...

最新文章

  1. 微软职位内部推荐-Software Engineer II-SDP
  2. java算法题常用到的一些api,含面试题+答案
  3. 神经网络与机器学习 笔记—时序模式、非线性滤波
  4. 单刹车信号不合理故障_关于汽车制动系统有哪些故障?该如何解决?
  5. 201771010102 常惠琢《面向对象程序设计(java)》第八周学习总结
  6. Python urllib、urllib2、urllib3
  7. tensor backward_Pytorch中的backward函数
  8. 双螺杆制冷压缩机行业调研报告 - 市场现状分析与发展前景预测
  9. 【转】Linux内存管理(最透彻的一篇)
  10. LabelImg安装教程(已亲测)
  11. 解决word模板目录域更新失败的问题
  12. Tmux_Hotkey
  13. 【每日一读】Efficient Personalized PageRank Computation: A Spanning Forests Sampling Based Approach
  14. SpringBoot发送QQ邮件图片显示不出来
  15. Android中处理大图片时图片压缩
  16. 设计模式03 - 装饰者模式
  17. Java+spring 基于ssm的美食网站设计与实现#毕业设计
  18. oracle exp/imp命令使用parfile实现参数文件调用
  19. iPad Air越狱恢复教程 iPad Air越狱后怎么恢复
  20. 2021-03-13 软件工程导论-自我简介

热门文章

  1. Javascript操作DOM常用API总结
  2. php的array_multisort()使用
  3. 数据结构之表(5)栈的顺序实现
  4. 趣味c语言编程100例(一)
  5. 为什么成员函数不占用类和对象的空间
  6. 6. Qt 信号与信号槽(11)Qt::ConnectionType类型
  7. 【Flask】request请求
  8. 物理攻击规避(Physical Attack Mitigation)
  9. [Trustzone]-ARM Cortex-A Serial支持Trustzone和Hypervisor的总结
  10. VTS工具测试指定的testcase函数(以VtsHalKeymasterV4_0TargetTest为例)