python socket编辑示例

news/2024/11/17 17:27:08/文章来源:https://www.cnblogs.com/longfeiPHP/p/18375381

服务端代码:

from socket import socket, AF_INET, SOCK_STREAM# 1. 创建socket对象   AF_INET:用于internet之间的进程通信,SOCK_STREAM:表示TCP协议
server_socket = socket(AF_INET, SOCK_STREAM)# 2. 绑定ip和端口号
ip = '127.0.0.1'
port = 8888
server_socket.bind((ip, port))# 3. 开始监听 最大监听数量
server_socket.listen(5)
# print('服务器已经启动')# 4. 等待客户端连接
clinic_socket, clinic_addr = server_socket.accept()# 5. 接收客户端数据
data = clinic_socket.recv(1024).decode('utf-8')
while data != 'bye':if data != '':print("clinic:", data)inputData = input('serv:')clinic_socket.send(inputData.encode('utf-8'))  # 响应if inputData == 'bye':breakdata = clinic_socket.recv(1024).decode('utf-8')# 关闭socket
clinic_socket.close()
server_socket.close()

客户端代码:

import socket# 1. 创建对象
clinic_socket = socket.socket()# 2. ip地址端口 连接
ip = '127.0.0.1'
port = 8888
clinic_socket.connect((ip, port))
# print('与服务器连接成功')# 3. 发送数据
# clinic_socket.send('Welcome to python world'.encode('utf-8'))
info = ''  # 服务器接收到的数据
while info != 'bye':send_data = input('clinic:')clinic_socket.send(send_data.encode('utf-8'))if send_data == 'bye':breakinfo = clinic_socket.recv(1024).decode('utf-8')print('serv:', info)# 4. 关闭
clinic_socket.close()

示例结果:

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络流模型

网络流模型 与2sat:2sat求不了最值,但网络流可以。 \(n\le 200 \implies\) 网络流 二分图、最大流模型二分图匹配模型——左右两侧匹配长脖子鹿模型——找到奇偶性,二分化LNDSP模型(P2766)——左右二分图来回跳最小割模型 (无穷大的边表示强限制)子集划分模型——要么属…

听劝❗用AI做职场思维导图仅仅需要几秒钟啊

本文由 ChatMoney团队出品嘿,各位职场朋友们 是不是常常对着密密麻麻的笔记感到焦虑呢? 想整理却无从下手? 别怕,ChatmoneyAI知识库来拯救你的整理困难症啦! 咱们都知道,思维导图是职场中必备的神器 它能帮我们理清思路,记忆知识 但传统做法嘛,不是画得乱七八糟就是费时…

Windows 10 美化 Mac OSX 实用教程

基于MydockFinder和免费主题的Windows 10美化我前几天给新电脑装上了Windows 10系统,想要美化一下,遇到了很多问题,就出了这篇博客,帮大家踩踩坑。 在开始之前,先提醒大家一句: 美化有风险,玩机需谨慎。为以防万一,请大家在进行任何操作前创建一个系统还原点。首先给大…

在MES系统的基础上,电子制造企业如何提高计划排产的准确度

在咨询我司APS计划排程解决方案的客户群体中,电子制造行业的客户的占比高达65%,究其原因是国内电子制造企业大多面临的是小批量、多品种、多非标订单生产模式,而电子产品本身还具有多SKU、替代料号多、工序复杂的情况。 为了保障订单准时交付率和质检合格率,越来越多的电子…

Infisical怎么在Jenkins内调用

参考 https://infisical.com/docs/integrations/cicd/jenkins#jenkins-plugin Jenkins参考 https://plugins.jenkins.io/infisical/ 前提条件安装配置infisical 设置了项目和密钥Infisical创建身份认证 创建身份 Access Control->Machine Identities -> Create identify生…

Percona Toolkit 神器全攻略(开发类)

Percona Toolkit 神器全攻略(开发类)Percona Toolkit 神器全攻略系列共八篇,前文回顾:前文回顾Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略(实用类)Percona Toolkit 神器全攻略(配置类)Percona Toolkit 神器全攻略(监控类)Percona Toolkit 神器全攻略(系…

springboot[2]_常用注解

介绍一些常用注解。 springBoot因为很少用到xml来配置bean文件,所以大部分都是用注解来创建和管理相关bean。 @Component、 @Service、 @Repository 和 @Controller这几个注解效果都是差不多的,都是可以用来创建bean实例的。只是规定使用的方法不同而已。@Component 自动被co…

springboot[4]_配置mybatis

在springboot中使用mybatis建表 在test库中,建立一张animal表,并存入三条数据。 CREATE TABLE test.animal ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, PRIMARY KEY (id) USING BTREE ) E…

qt5.14.2 MSVC opencv(不结合vs)路径添加问题 测试通过

不换行写法1 win32:CONFIG(release, debug|release): LIBS += -LG:/opencv4.4.0/opencv4.4_vs_msvc19_qt6.5/x64/vc17/lib/ -lopencv_aruco440 -lopencv_bgsegm440 -lopencv_bioinspired440 -lopencv_calib3d440 -lopencv_ccalib440 -lopencv_core440 -lopencv_cvv440 -lopencv…

Java学习笔记7-变量

1.1变量是程序的基本组成单位 不论是使用那种高级别语言,变量都是其程序的基本组成单位,比如1.2概念 变量相当于内存中一个数据存储空间 的表示,你可以把变量看做是一个房间的门牌号,通过 门牌号 我们可以找到房 间,而通过变量名可以访问到变量 ( 值 ) 。 1.3变量的使用步…

什么?!90%的ThreadLocal都在滥用或错用!

最近发现系统里面在使用到了 ThreadLocal,乍一看,好像很高级的样子。再仔细一看,完全就是一个 ThreadLocal 滥用的典型案例啊!甚至,日常的业务系统中,90%以上都在滥用或者错用啊最近在看一个系统代码时,发现系统里面在使用到了 ThreadLocal,乍一看,好像很高级的样子。…