简单回显客户端服务器应用

2024-06-14 15:58

本文主要是介绍简单回显客户端服务器应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


服务器端:

import argparse
import socket
import syshost = "localhost"
data_payload = 2048
backlog = 5def echo_server( port ):sock = socket.socket( family = socket.AF_INET,type = socket.SOCK_STREAM )sock.setsockopt( socket.SOL_SOCKET,socket.SO_REUSEADDR,1 )server_addr = ( host, port )print "server: %s, port: %s" % server_addrsock.bind( server_addr )sock.listen( backlog )while True:print "Waiting from client."client, addr = sock.accept()data = client.recv( data_payload )if data:print "Data: %s" % dataclient.send( data )print "Sent %s bytes back to %s" % ( data, addr )client.close()if __name__ == "__main__":parser = argparse.ArgumentParser()parser.add_argument( "--port",action = "store",dest = "port",type = int,required = True )args = parser.parse_args()port = args.portecho_server( port )

客户端:

import socket
import sys
import argparsehost = "localhost"def echo_client( port ):sock = socket.socket( family = socket.AF_INET,type = socket.SOCK_STREAM )server_addr = ( host, port )print "Connecting to %s port %s" % server_addrsock.connect( server_addr )try:msg = "Test message. This will be echoed."print "Sending %s" % msgsock.sendall( msg )amount_received = 0amount_excepted = len( msg )while amount_received < amount_excepted:            data = sock.recv( 16 )print "==" * 20amount_received += len( data )print "Received: %s" % dataexcept socket.errno, e:print "Socket error: %s" % str( e )except Exception, e:print "Other exception: %s" % str( e )finally:print "Closing connection"sock.close()if __name__ == "__main__":parser = argparse.ArgumentParser()parser.add_argument( "--port",action = "store",dest = "port",type = int,required = True )args = parser.parse_args()port = args.portecho_client( port )



这篇关于简单回显客户端服务器应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060860

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

SpringBoot简单整合ElasticSearch实践

《SpringBoot简单整合ElasticSearch实践》Elasticsearch支持结构化和非结构化数据检索,通过索引创建和倒排索引文档,提高搜索效率,它基于Lucene封装,分为索引库、类型... 目录一:ElasticSearch支持对结构化和非结构化的数据进行检索二:ES的核心概念Index:

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤