过程描述依然如下:
(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程序相关推荐

  1. Windows socket之最简单的socket程序

    Windows socket之最简单的socket程序 原文:Windows socket之最简单的socket程序 最简单的服务器的socket程序流程如下(面向连接的TCP连接 ): 1. WSA ...

  2. TCP socket心跳包示例程序

    TCP socket心跳包示例程序_xqhrs232的专栏-CSDN博客_setsockopt 心跳包 原文地址::TCP socket心跳包示例程序_神奕的专栏-CSDN博客_tcp心跳包 相关文章 ...

  3. 简单网络聊天程序java_基于Java实现hello/hi简单网络聊天程序

    Socket简要阐述 Socket的概念 Socket的英文原义是"孔"或"插座". 在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连 ...

  4. 计算机网络课程设计之简单 Web Server 程序的设计与实现

    前言 本实验是实现一个简易的webserver,我们一直在访问网站,甚至还做过Web课程设计,部署过Tomcat等等,所以说这次实验能更深入的了解其原理 白嫖容易,创作不易,本文原创,转载请注明!!! ...

  5. 基于TCP的简单服务器

    基于Tcp的简单服务器 UDP协议无连接类似于发微信 TCP协议有链接类似于打电话 所以基于TCP的服务器先要到内核中获取一个TCP连接,UDP不需要获取连接 TCP的连接管理是由操作系统的内核来管理 ...

  6. 使用Hprose制作一个简单的分布式应用程序

    2019独角兽企业重金招聘Python工程师标准>>> 使用Hprose制作一个简单的分布式应用程序只需要几分钟的时间.本文将用一个简单的实例来带您快速浏览使用Hprose for ...

  7. 基于TCP网络通信的自动升级程序源码分析-客户端接收文件

    升级程序客户端接收文件 /// <summary>/// 文件数据缓存 索引是 ConnectionInfo对象 数据包的顺序号 值是数据/// </summary>Dicti ...

  8. OSI七层模型以及TCP/UDP客户端/服务端程序实例

    OSI七层模型以及TCP/UDP客户端/服务端程序实例 一.前言 二.OSI简介 2.1 OSI概念 2.2 划分原则 2.3 OSI七层模型 2.4 模型举例 三.Linux下TCP/UDP程序开发 ...

  9. 一个简单的IPmsg程序源码分析(二)

    离上篇一个简单的IPmsg程序源码分析(一)已经基本半个月(上篇最初发布在点点上面,后边纠结了一下还是选择了博客园),利用空闲的时间终于把源码的构架和一些细节基本都搞清楚了,总的来说是很简单的一个客户 ...

最新文章

  1. python logging.getlogger_logging.getLogger与logger的父子关系
  2. python3 配置文件处理 configparser 库简介
  3. Dynamips/Dynagen模拟CISCO路由环境
  4. Eclipse新建Maven项目web.xml is missing and failOnMissingWebXml is set to true错误 pox.xml编译错误
  5. 读书笔记 — Java高并发程序设计 — 第三章 — 锁
  6. perl6 HTTP::UserAgent (2)
  7. Leetcode怎么调试java代码,LeetCode–正则表达式匹配
  8. 字符串是单一字符的无序组合吗_Python中拼接字符串的多种方法, 你想了解吗?...
  9. 网站项目常用JS,CSS等控件插件
  10. RHCS集群 切换时defunct僵尸进程解决方案
  11. 转载:Linux内核探索之路——关于书
  12. 集合的一些练习题1(Collection+Map)
  13. java读取excrl模板填充数据_java中自定义excel模板并且填充内容
  14. 游戏检测的对抗与防护艺术
  15. tx2 安装 Anaconda
  16. 存储数据保护技术——双活
  17. xp系统怎么创建新宽带连接服务器地址,XP宽带连接怎么创建?
  18. sql盲注 解决_sql盲注-和sql盲注相关的内容-阿里云开发者社区
  19. ConcurrentHashMap中有十个提升性能的细节,你都知道吗?
  20. spring hateoas 1.0改动

热门文章

  1. AAAI 2022 | 可解释和鲁棒的联合文本分类及证据提取
  2. SPCS 2021 开启征稿 | 第二届信号处理与计算机科学国际学术会议
  3. ICCV 2021 | DeeperAction挑战赛三大赛道开启报名
  4. CVer入门必备:计算机视觉的深度学习实践
  5. 报名 | AlphaGo Zero是如何实现无师自通的?
  6. 邮件excel html,小数点分隔符在电子邮件(HTML/CSS)在Excel的VBA编程
  7. java判断输入的格式化_Java的字符串及格式化输入输出
  8. 解析性语言与编译性语言优劣对比
  9. 回溯法(其实是递归)
  10. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(十九)强制重做