使用TCP的简单C/S程序
过程描述依然如下:
(1)客户从其键盘读取一行字符并将数据向服务器发送。
(2)服务器接收该数据并将这些字符转换为大写。
(3)服务器将修改的数据发送给客户。
(4)客户接收修改的数据并在其监视器上将该行显示出来。
客户端:
新建TCPClient.py文件,内容为:
from socket import * #此模块是所有网络通信的基础,有了这行,才能够在程序中创建套接字
serverName = 'servername'#字符串包含服务器的IP地址或者包含服务器的主机名
serverPort=12000#端口号
clientSocket=socket(AF_INET,SOCK_STREAM)#创建套接字SOCK_STREAM表明是一个TCP套接字
clientSocket.connect((serverName,serverPort))#在客户与服务器之间创建TCP连接,执行完此代码会进行三次握手,之后建立起连接。
sentence=raw_input('Input lowercase sentence:')#读取用户输入信息,保存在sentence中
clientSocket.send(sentence)#通过该客户的套接字进入TCP连接发送字符串
modifiedMessage=clientSocket.recv(1024)#字符串从服务器传过来后被放置在modifiedMessage中
print 'From Server:',modifiedSentence #显示接收到的分组
clientSocket.close()#关闭套接字
服务器端:
新建TCPServert.py文件,内容为:
from socket import * #此模块是所有网络通信的基础,有了这行,才能够在程序中创建套接字
serverPort=12000#端口号
serverSocket=socket(AF_INET,SOCK_STREAM)#服务器创建TCP套接字SOCK_STREAM表明是一个TCP套接字
serverSocket.bind(('',serverPort))#将端口号与套接字绑定
serverSocket.listen(1)#服务器监听来自客户端的请求,1是请求连接的最大数
print "The server is ready to receive"
while 1:connectionSocket,addr=serverSocket.accept()#创建新套接字,为这个客户所专用,完成握手sentence=connectionSocket.recv(1024)#将接收到的分组保存在sentence中capitalizedSentence=sentence.upper()#转换为大写connectionSocket.send(capitalizedSentence)connectionSocket.close()
使用TCP的简单C/S程序相关推荐
- Windows socket之最简单的socket程序
Windows socket之最简单的socket程序 原文:Windows socket之最简单的socket程序 最简单的服务器的socket程序流程如下(面向连接的TCP连接 ): 1. WSA ...
- TCP socket心跳包示例程序
TCP socket心跳包示例程序_xqhrs232的专栏-CSDN博客_setsockopt 心跳包 原文地址::TCP socket心跳包示例程序_神奕的专栏-CSDN博客_tcp心跳包 相关文章 ...
- 简单网络聊天程序java_基于Java实现hello/hi简单网络聊天程序
Socket简要阐述 Socket的概念 Socket的英文原义是"孔"或"插座". 在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连 ...
- 计算机网络课程设计之简单 Web Server 程序的设计与实现
前言 本实验是实现一个简易的webserver,我们一直在访问网站,甚至还做过Web课程设计,部署过Tomcat等等,所以说这次实验能更深入的了解其原理 白嫖容易,创作不易,本文原创,转载请注明!!! ...
- 基于TCP的简单服务器
基于Tcp的简单服务器 UDP协议无连接类似于发微信 TCP协议有链接类似于打电话 所以基于TCP的服务器先要到内核中获取一个TCP连接,UDP不需要获取连接 TCP的连接管理是由操作系统的内核来管理 ...
- 使用Hprose制作一个简单的分布式应用程序
2019独角兽企业重金招聘Python工程师标准>>> 使用Hprose制作一个简单的分布式应用程序只需要几分钟的时间.本文将用一个简单的实例来带您快速浏览使用Hprose for ...
- 基于TCP网络通信的自动升级程序源码分析-客户端接收文件
升级程序客户端接收文件 /// <summary>/// 文件数据缓存 索引是 ConnectionInfo对象 数据包的顺序号 值是数据/// </summary>Dicti ...
- OSI七层模型以及TCP/UDP客户端/服务端程序实例
OSI七层模型以及TCP/UDP客户端/服务端程序实例 一.前言 二.OSI简介 2.1 OSI概念 2.2 划分原则 2.3 OSI七层模型 2.4 模型举例 三.Linux下TCP/UDP程序开发 ...
- 一个简单的IPmsg程序源码分析(二)
离上篇一个简单的IPmsg程序源码分析(一)已经基本半个月(上篇最初发布在点点上面,后边纠结了一下还是选择了博客园),利用空闲的时间终于把源码的构架和一些细节基本都搞清楚了,总的来说是很简单的一个客户 ...
最新文章
- python logging.getlogger_logging.getLogger与logger的父子关系
- python3 配置文件处理 configparser 库简介
- Dynamips/Dynagen模拟CISCO路由环境
- Eclipse新建Maven项目web.xml is missing and failOnMissingWebXml is set to true错误 pox.xml编译错误
- 读书笔记 — Java高并发程序设计 — 第三章 — 锁
- perl6 HTTP::UserAgent (2)
- Leetcode怎么调试java代码,LeetCode–正则表达式匹配
- 字符串是单一字符的无序组合吗_Python中拼接字符串的多种方法, 你想了解吗?...
- 网站项目常用JS,CSS等控件插件
- RHCS集群 切换时defunct僵尸进程解决方案
- 转载:Linux内核探索之路——关于书
- 集合的一些练习题1(Collection+Map)
- java读取excrl模板填充数据_java中自定义excel模板并且填充内容
- 游戏检测的对抗与防护艺术
- tx2 安装 Anaconda
- 存储数据保护技术——双活
- xp系统怎么创建新宽带连接服务器地址,XP宽带连接怎么创建?
- sql盲注 解决_sql盲注-和sql盲注相关的内容-阿里云开发者社区
- ConcurrentHashMap中有十个提升性能的细节,你都知道吗?
- spring hateoas 1.0改动
热门文章
- AAAI 2022 | 可解释和鲁棒的联合文本分类及证据提取
- SPCS 2021 开启征稿 | 第二届信号处理与计算机科学国际学术会议
- ICCV 2021 | DeeperAction挑战赛三大赛道开启报名
- CVer入门必备:计算机视觉的深度学习实践
- 报名 | AlphaGo Zero是如何实现无师自通的?
- 邮件excel html,小数点分隔符在电子邮件(HTML/CSS)在Excel的VBA编程
- java判断输入的格式化_Java的字符串及格式化输入输出
- 解析性语言与编译性语言优劣对比
- 回溯法(其实是递归)
- JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十九)强制重做