Python启动TCP服务并监听连接,从客户端发送消息

news2024/9/29 1:26:45

下面是一个简单的例子,演示如何在Python中启动TCP服务并监听连接,以及如何从客户端发送消息:

TCP服务端代码:

import socket

HOST = '192.168.6.211'
PORT = 8888

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()

print(f'Server is listening at {HOST}:{PORT}')

while True:
    client_socket, client_address = server_socket.accept()
    print(f'Client connected from {client_address}')

    message = client_socket.recv(1024).decode('utf-8')
    print(f'Received message from client: {message}')

    response = 'Hello from server!'
    client_socket.send(response.encode('utf-8'))

    client_socket.close()

TCP客户端代码:

import socket

HOST = '192.168.6.211'
PORT = 8888

client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST, PORT))

message = 'Hello from client!'
client_socket.send(message.encode('utf-8'))

response = client_socket.recv(1024).decode('utf-8')
print(f'Received response from server: {response}')

client_socket.close()

这个例子中,服务端首先创建一个socket对象并绑定地址和端口,然后开始监听连接。当客户端连接到服务器时,服务端接受客户端的连接请求并打印客户端地址,然后接收从客户端发送过来的消息,并回复一条消息。客户端首先创建一个socket对象并连接到服务器,然后发送一条消息,并等待接收回复消息。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/737667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron的(maximize)最大化方法会导致头部白色横条以及四周大黑边

参考文章:https://www.w3cways.com/2505.html 感谢这位博主 我在使用win.maximize()后发现应用程序虽然最大化了,但是四周和顶部有一定宽度的黑边白边,在百度一段时间后没有发现其他人有这个问题 😔唉 必现步骤: 只要…

禁止 input 输入框显示历史记录

问题概述 在 HTML 开发中会 input 标签是非常常用的, 当在 input 标签 输入数据后,再点击输入框会显示原来输入过的内容,还会出现下拉的历史记录。让使用人员感觉比较恶心。 解决方案(隐藏记录框) 隐藏记录框 aut…

环二肽试剂:7451-73-2,CYCLO(-GLY-TRP),环(甘氨酰-L-色氨酰)

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ CYCLO(-GLY-TRP)环二肽,含有(甘氨酰和色氨酰基团),色氨酸又名α-氨基吲哚基丙酸,分子式:C11H12N2O2,白色至黄白色晶体或结晶性粉末。无臭或微臭,长时间…

Apifox详细使用教程 -- 有这一篇就够了

文章目录 Apifox简介 Apifox的安装与新建项目 Apifox编写接口文档 总结 四、Apifox的使用快捷键 一、Apifox简介 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,更先进的 API 设计/开发/测试工具,定位 Postman Swagger Mock J…

SpringBoot + Kotlin 中使用 GRPC 进行服务通信

示例项目见:kotlin-grpc 一、导入依赖: import com.google.protobuf.gradle.* plugins { id("org.springframework.boot") version "2.3.1.RELEASE" id("io.spring.dependency-management") version "1.0.9.REL…

面试官常问的一些初中级前端知识点

CSS 1. 介绍下 CSS 盒子模型 回答到以下两点就可以: 一个盒子由四个部分组成:content、padding、border、margin。两种盒子模型:W3C 标准盒子模型、IE 怪异盒子模型标准盒子模型 width / height 只是内容高度,不包含 padding 和…

平板ipad触控笔是哪几款?苹果笔性价比高的推荐

实际上,现在市场上许多产品都有各自的特色,一些注重产品外观,一些注重产品功能。就相当于ipad上所搭配的电容笔。所以,在购买电容笔的时候,必须对电容笔有一些认识。在选购前,必须先了解各种类型的电容笔&a…

7-8 程序员买包子

7-8 程序员买包子 分数 10 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 这是一条检测真正程序员的段子:假如你被家人要求下班顺路买十只包子,如果看到卖西瓜的,买一只。那么你会在什么情况下只买一只包子回家? 本题要求你考…

线程 线程池

线程和进程的区别? 进程是正在运行程序的实例,进程中包含了线程,每个线程执行不同的任务 不同的进程使用不同的内存空间,在当前进程下的所有线程可以共享内存空间 线程更轻量,线程上下文切换成本一般上要比进程上下文切换低 创…

博士后申请哪些老板不要选?

博士后申请是许多研究人员迈向学术界的重要阶段。在选择导师时,需要慎重考虑各方面因素。虽然我不能提及具体老板的名字,但我可以给你一些在博士后申请过程中需要谨慎选择的类型。以下是知识人网小编整理的一些可能不适合选择的老板类型: 1. …

Spring-AutowireFactoryBean

autowire autowire 即自动注入的意思,通过使用 autowire 特性,我们就不用再显示的配置 bean 之间的依赖了。把依赖的发现和注入都交给 Spring 去处理,省时又省力。autowire 几个可选项,比如 byName、byType 和 constructor 等。a…

刘铁猛C#教程学习笔记--初识C#程序

构成C#程序的基本元素 关键字:C#保留的用作特殊用途的标识符标识符:名字,如变量名字,类名字,命名空间名字等等; 标识符命名规则:只能以数字字母或者下划线开头,不能用关键字作为标识…

喜讯!云联壹云入选2023年北京市“专精特新”中小企业

6月25日,北京市经济和信息化局发布《关于对2023年第一季度北京市专精特新中小企业名单进行公告的通知》,北京云联壹云技术有限公司入选2023年北京市“专精特新”中小企业。 “专精特新”是国家为增强企业自主创新能力和核心竞争力,不断提高中…

HHDESK资源管理功能

为使客户体验更上一层楼,我们在最新的HHDESK版本中,新增了一个功能“资源管理”,其中不仅整合了原有的连接管理、网络代理功能,还增加了不少实用的新功能。 本篇便为您简单介绍一下。 1 本地服务 可以方便的调用本地资源。 比如…

基于STM32设计的酒精检测仪

一、需求分析 随着社会的发展和生活水平的提高,人们对于行车安全、家庭安全的要求越来越高,而酒驾等问题也日渐突出,为此,开发一款基于STM32的酒精检测仪,通过检测酒精浓度,实时显示结果并进行报警&#x…

openGauss学习笔记-05 openGauss gsql连接与使用方法

文章目录 openGauss学习笔记-05 openGauss gsql连接与使用方法5.1 以操作系统用户omm登录数据库主节点5.2 连接数据库5.3 数据库简单操作5.4 退出数据库 openGauss学习笔记-05 openGauss gsql连接与使用方法 openGauss提供了在命令行下运行的数据库连接工具gsql。此工具除了具…

【AI】在NVIDIA Jetson Orin Nano上使用tensorrtx部署yolov8

1、下载 1.1 权重文件下载 https://github.com/ultralytics/assets/releases本人下载的yolov8n.pt yolov8n-cls.pt:用于分类 yolov8n-pose.pt:用于姿势识别 yolov8n-seg.pt:用于对象分割 yolov8n-v8loader.pt:专用于人员检测器??? yolov8n.pt:用于对象检测 1.2 源码…

【Go|第7期】浅谈Lorca库中的Chromium命令行参数

日期:2023年7月9日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方&#xff…

你想知道个人博客和企业博客具体区别吗?点进来看看吧

在互联网时代,越来越多人开始会去使用博客来记录生活中的点滴。博客已经成为了人们分享信息、表达观点的重要平台。无论是个人还是企业,都可以通过博客来传播自己的声音和观点。这篇文章looklook会聚焦于企业博客,从分析个人与企业博客的区别…

【峟思科普】水库监测点位布设原则

水库监测一般有常规监测、变形监测、应力监测和地质灾害监测等,其中变形监测是水库安全的重要保障,是通过安装在水库坝体或大坝周边的变形监测仪来测量坝体或坝基表面的变形情况,如位移、沉降、裂缝、倾斜等。下面给大家介绍下水库监测点位布…