TCP客户端增加多线程与TCP服务端增加多线程

2023-05-16

TCP客户端增加多线程

(ps:仅有代码,小伙伴们利用百度,冲啊!!!)

#coding=utf-8
from socket import *
from threading import Thread


def recv_data():
    while True:
        # 接收服务器端数据
        recv_data = client_socket.recv(1024)  # 最大接收1024字节
        recv_content = recv_data.decode('gbk')
        print(f"服务器端说:{recv_content}")
        if recv_content == "end":
            print("结束接收消息")
            break

def send_data():
    while True:
        # 给服务端发消息
        msg = input(">")
        client_socket.send(msg.encode("gbk"))
        if msg == "end":
            break

if __name__ == '__main__':
    client_socket = socket(AF_INET, SOCK_STREAM)
    client_socket.connect(("127.0.0.1", 8899))

    t1 = Thread(target=recv_data)
    t2 = Thread(target=send_data)
    t1.start()
    t2.start()
    t1.join()
    t2.join()

    client_socket.close()

TCP服务端增加多线程

(ps:仅有代码,小伙伴们利用百度,冲啊!!!)

#coding=utf-8
from socket import *
from threading import Thread


def recv_data():
    while True:
        recv_data = client_socket.recv(1024)  # 最大接收1024字节
        recv_content = recv_data.decode("gbk")
        print(f"客户端说:{recv_content},来自:{client_info}")
        if recv_content == "end":
            print("结束接收消息!")
            break

def send_data():
    while True:
        msg = input(">")
        client_socket.send(msg.encode("gbk"))
        if msg == "end":
            print("结束发送消息!")
            break

if __name__ == '__main__':
    server_socket = socket(AF_INET, SOCK_STREAM)  # 建立TCP套接字
    server_socket.bind(("127.0.0.1", 8899))  # 本机监听8899端口
    server_socket.listen(5)
    print("等待接收连接!")
    client_socket, client_info = server_socket.accept()
    print("一个客户端建立连接成功!")

    t1 = Thread(target=recv_data)
    t2 = Thread(target=send_data)
    t1.start()
    t2.start()

    t1.join()
    t2.join()

    client_socket.close()
    server_socket.close()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TCP客户端增加多线程与TCP服务端增加多线程 的相关文章

  • 阿里云服务器建站教程

    第一步 xff1a 阿里云域名购买 需要到阿里云购买域名 xff1a 域名特惠专场 第二步 xff1a IPC备案 自行下载阿里云app进行IPC备案 xff0c 因为需要进行人脸验证 第三步 xff1a 购买服务器 购买服务器 xff1a
  • 树莓派3B+远程连接被拒或超时亦或屏幕无反应的登录方式

    报了一个大学生创新创业比赛 xff0c 计划做一个基于视觉识别的切菜机械臂 xff0c 毫无头绪 xff0c 于是先学树莓派吧 xff0c 入手3B 43 有一段时间了 xff0c 为了节约成本没有买屏幕 xff0c 几天后发现最大的问题就
  • 最大矩形(题解)

    题意 xff1a 给一个直方图 xff0c 求直方图中的最大矩形的面积 例如 xff0c 下面这个图片中直方图的高度从左到右分别是2 1 4 5 1 3 3 他们的宽都是1 xff0c 其中最大的矩形是阴影部分 思路 xff1a 对于每个高
  • python 工厂方法模式原理与实现

    一 简介 工厂模式是属于创建型模式 xff0c 它提供了一种创建对象的最佳方式 在工厂模式中 xff0c 我们在创建对象的过程中不会向客户端暴露实现逻辑 xff0c 而是通过一个共同的接口类来指向新创建的对象 二 工厂方法模式的主要角色 抽
  • Python安装Jupyter Notebook配置使用教程

    原文见 xff1a https blog csdn net qq 27825451 article details 84427269 一 什么是jupyter 1 简介 xff1a jupyter notebook是一种 Web 应用 xf
  • 【Python学习】——实现文本的朗读(pyttsx3)

    import pyttsx3 engine pyttsx3 init engine say 三角形 engine runAndWait 1 导入第三方库 import pyttsx3 2 创建朗读器 engine pyttsx3 init
  • 啊啊啊啊啊,终于解决电脑hardlock.sys蓝屏问题啦,顺利下载modelsim软件

    最开始下载软件时 xff0c 电脑蓝屏 xff0c 以为是电脑储存空间不足 xff0c 换了1T固态硬盘之后 xff0c 问题还是没有解决 xff1b 从博客看经验贴 xff0c 需要进入安全模式后 xff0c 从别的笔记本电脑上复制har
  • 上课摸鱼必备 -- Vscode网页版的搭建教程

    上课摸鱼必备 Vscode网页版的搭建教程 文章目录 上课摸鱼必备 Vscode网页版的搭建教程前言 xff08 一 xff09 运行效果 xff08 二 xff09 基础配置1 下载code server到服务器上2 解压安装试运行 xf
  • 牛客练习赛50

    tokitsukaze and Connection 链接 xff1a https ac nowcoder com acm contest 12257 A 来源 xff1a 牛客网 题目描述 tokitsukaze有一个长度为n xff0c
  • ROS——创建工作空间和功能包并成功运行一个基本python文件

    文章目录 ROS文件系统的基本结构一 创建工作空间二 xff08 可选 xff09 创建功能包三 编写python代码四 调试运行代码正确运行Clion ROS文件系统的基本结构 x1f4c1 workspace xff08 ROS的工作空
  • 解决Server's certificate is not trusted

    要解决Server s certificate is not trusted 首先Ctrl 43 Alt 43 s找到settings单击进入 勾选
  • 解决:无法打开系统服务 提示“一个或多个Activex控件无法显示”

    问题 xff1a 电脑打开系统的服务时 xff0c 出现 一个或多个Activex 控件无法显示 的提示 xff0c 开始以为与IE设置有关 xff0c 试着在Internet 选项 gt 安全 xff0c 勾选了 允许ActiveX 控件
  • IDEA:yml不显示小绿叶图标

    IDEA xff1a yml不显示小绿叶图标 之前idea能识别yml文件 xff0c 后面再学习微服务时突然识别不了yml xff0c yml文件不显示小绿叶图标 xff0c yml文件中相关的提示功能也失效 xff0c 但以 yaml为
  • 安装Ubuntu时发现卡在一个地方点不动解决方法

    有很多小伙伴发现自己在VMware安装虚拟机时 xff0c 卡在一个页面不能点击 xff0c 拖动也不起作用 xff0c 一直卡在一个地方动不了 xff0c 真的气死人了 xff0c 总以为是电脑或者其他什么地方的问题 xff0c 移除然后
  • CSP 202112-5 极差路径12分暴力代码

    原题链接 xff1a CSP 202112 5 极差路径 span class token macro property span class token directive keyword include span span class
  • CCF-CSP 201809-3 元素选择器

    原题链接 xff1a CCF CSP 201809 3 元素选择器 参考题解 xff1a CCF201809 3 元素选择器 xff08 100分 xff09 文本处理 span class token macro property spa
  • CCP-CSP 201912-5 魔数 暴力25

    原题链接 xff1a CCP CSP 201912 5 魔数 线段树是写不来的 span class token macro property span class token directive hash span span class
  • CCP-CSP 201909-3 字符画 100

    原题链接 xff1a CCP CSP 201909 3 字符画 这道题我觉得难点主要是不会处理ASCII码的转换 xff0c 还有就是看不懂题 xff0c 其实逻辑不难 参考博客 xff1a CCF CSP 20190903 字符画 100
  • wsl 无法使用netstat

    zshrc
  • 速腾雷达16线实现FAST-LIO2算法建图

    速腾雷达16线实现FAST LIO2算法建图 一 配置激光雷达数据1 下载rsladir SDK包到catkin ws src下2 添加依赖3 配置参数 xff1a 4 编译测试5 将雷达格式转换为velodyne格式6 将转换格式嵌入到s

随机推荐

  • HuTool工具最全介绍

    简介 xff1a Hutool是一个小而全的Java工具类库 xff0c 通过静态方法封装 xff0c 降低相关API的学习成本 xff0c 提高工作效率 xff0c 使Java拥有函数式语言般的优雅 xff1b 提供了Java基础工具类
  • 【hnu暑学期】数据库系统设计 准备阶段

    说些什么 那年杏花微雨 xff0c 你说你是数据库 xff0c 或许一开始便都是错的 如果学弟学妹们可以在暑学期选课前看到这篇博文的话 快跑 xff01 快跑 xff01 快跑 xff01 本来是想着数据库比较水的 xff0c 可以随便混一
  • 古代有一个梵塔,塔内有 A、B、C 三个基座,A 座上有 64 个盘子,盘子大小不等,大的在下,小的在上

    古代有一个梵塔 xff0c 塔内有 A B C 三个基座 xff0c A 座上有 64 个盘子 xff0c 盘子大小不等 xff0c 大的在下 xff0c 小的在上 有人想把这 64 个盘子 从 A 座移到 C 座 xff0c 但每次只允许
  • 修改mysql 8.0密码

    1 首先说明 xff1a 正确的修改密码方式 xff1a span class token constant ALTER span span class token constant USER span span class token s
  • P1591 阶乘数码洛谷

    题目描述 求n 中某个数码出现的次数 输入格式 第一行为t 10 xff0c 表示数据组数 接下来t行 xff0c 每行一个正整数n 1000 和数码a 输出格式 对于每组数据 xff0c 输出一个整数 xff0c 表示n 中a出现的次数
  • 多神经网络轨迹跟随控制(MATLAB实现)

    多神经网络轨迹跟随控制 xff08 MATLAB实现 xff09 本文是我基于自己的理解实现的多神经轨迹跟随控制 xff0c 可能不太正确 xff0c 但仍记录下来 此题目当我刚看到的时候一头雾水 xff0c 经过看PPT和自己实践貌似搞出
  • turtlebot3 Slam建图和导航仿真

    turtlebot3 Slam建图和导航仿真 使用RViz仿真Turtlebot3 RViz简介 RViz是ROS的三维可视化工具 它的主要目的是以三维方式显示ROS消息 xff0c 可以将数据进行可视化表达 例如无需编程即可表达激光测距仪
  • 【MATLAB APPdesigner ui设计实现软件动态页面启动 】(启动无标题栏)

    MATLAB APPdesigner实现软件动态页面启动 xff08 启动无标题栏 xff09 前言实现实现动态界面启动隐藏动态界面启动的标题栏 前言 最近需要验收利用MATLAB所实现的控制系统 xff0c 为了更好的展示 xff0c 因
  • 激光雷达方程推导与激光器参数指标

    激光雷达方程推导与激光器参数指标 激光雷达方程推导多种目标类型下的激光雷达方程激光器的参数指标 激光雷达方程推导 设定目标与激光雷达的距离为 R R R xff0c 发射激光束的发散角为
  • mpc模型预测控制原理详解

    mpc模型预测控制原理详解 前言mpc算法步骤mpc算法推导 前言 本文是对mpc模型预测控制学习的记录 xff0c 主要参照了DR CAN老师的视频进行学习 视频专栏链接 xff1a DR CAN老师mpc视频专栏 在这篇博客中博主也针对
  • C++基础回顾(上)

    C 43 43 基础回顾 xff08 上 xff09 目录 C 43 43 基础回顾 xff08 上 xff09 前言关键字和标识符运算符数据类型函数类 前言 C 43 43 之前学过一点 xff0c 但是很长时间都没用过 xff0c 翻出
  • 自适应控制专栏目录及介绍

    目录 自适应控制专栏目录及介绍第一篇 xff1a 具有不确定参数系统的自适应跟踪控制设计 ADi hhh的博客 CSDN博客 https blog csdn net qq 45830323 article details 129713051
  • 【五一创作】Qt quick基础1(包含基本元素Text Image Rectangle的使用)

    Qt quick基础1 xff08 包含基本元素Text Image Rectangle的使用 xff09 目录 Qt quick基础1 xff08 包含基本元素Text Image Rectangle的使用 xff09 前言qt中有直接设
  • 网站使用微信登录接口,所踩的坑...

    一 如何开通微信公众号 微信开发平台 授权认证 接口权限申请等等 xff0c 这些不在本文描述 xff0c 请参考官方资料 二 假设已顺利完成第一步的工作 xff0c 现在需要在自己开发的网站 xff08 PC端 移动端 xff0c 注意两
  • Qt quick基础2(包含平移旋转放缩以及qml控件大写开头啊)

    Qt quick基础2 xff08 包含平移旋转放缩以及qml控件大写开头啊 xff09 目录 Qt quick基础2 xff08 包含平移旋转放缩以及qml控件大写开头啊 xff09 前言简单的平移 旋转和放缩其他元素的一些基本使用qml
  • 虚幻引擎配置物体水面浮力的简便方法

    虚幻引擎配置物体水面浮力的简便方法 目录 虚幻引擎配置物体水面浮力的简便方法前言前期工作配置水面浮力针对一个立方体的水面浮力配置针对船3D模型的水面浮力配置 小结 前言 在使用虚幻引擎配置导入的3D模型时 xff0c 如何快速地将水面浮力配
  • 用栈实现回文字符串的判断

    用栈实现回文字符串的判断 栈是一种后进先出的数据结构 xff0c 它只能在一段进行插入和删除操作 例如一个字符串 34 12321 34 像这种 xff0c 无论正读反读均相同的字符序列 xff0c 就叫做回文字符串 首先 xff0c 我们
  • 安装diffuse 解决dpkg依赖问题

    安装diffuse报错 xff0c 缺少依赖 xff0c 安装地址 flynnsin 64 flynnsin Downloads span class token function sudo span dpkg span class tok
  • 软件工程整理

    软件工程总结 第一章1 软件2 软件工程3 软件工程环境4 三种编程范例 第二章1 软件生存周期2 软件生存周期的主要活动 3 软件过程 第三章1 结构化分析SA2 DFD xff08 数据流 xff09 图3 结构化设计SD xff08
  • TCP客户端增加多线程与TCP服务端增加多线程

    TCP客户端增加多线程 xff08 ps xff1a 仅有代码 xff0c 小伙伴们利用百度 xff0c 冲啊 xff01 xff01 xff01 xff09 span class token comment coding 61 utf 8