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

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

相关文章

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为