Python一个简单的通信程序(客户端 服务器)


Posted in Python onMarch 06, 2019

功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串

客户端:

10.248.27.23是我电脑的IP

import socket, sys
host = '10.248.27.23'
# host = raw_input("Plz imput destination IP:")
# data = raw_input("Plz imput what you want to submit:")
port = 51423
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
  s.connect((host, port))
except socket.gaierror, e:
  print "Address-related error connecting to server: %s" %e
  sys.exit(1)
except socket.error, e:
  print "Connection error: %s" %e
  sys.exit(1)
data = raw_input("Plz imput what you want to submit:")
s.send(data)
s.shutdown(1)
print "Submit Complete"
while 1:
    buf = s.recv(1024)
    sys.stdout.write(buf)

服务器:

import socket, traceback
host = ''
port = 51423
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)
print "done"
while 1:
  #when connect error happen, skip the error
  try:
    ClientSock, ClientAddr = s.accept()
  except KeyboardInterrupt:
    raise
  except:
    traceback.print_exc()
    continue
  #Get informaion form client and reply
  try:
    print "Get connect from ", ClientSock.getpeername()
    data = ClientSock.recv(1024)
    print "The information we get is %s" % str(data)
    ClientSock.sendall("I`ve got the information: ")
    ClientSock.sendall(data)
    while 1:
      str = raw_input("What you want to say:")
      ClientSock.sendall(str)
      ClientSock.sendall('\n')
  except (KeyboardInterrupt ,SystemError):
    raise
  except:
    traceback.print_exc()
  #Clocs socket
  try:
    ClientSock.close()
  except KeyboardInterrupt:
    raise
  except:
    traceback.print_exc()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python 文件和输入输出小结
Oct 09 Python
pyhton列表转换为数组的实例
Apr 04 Python
深入浅析Python的类
Jun 22 Python
Python使用while循环花式打印乘法表
Jan 28 Python
django foreignkey(外键)的实现
Jul 29 Python
Pandas把dataframe或series转换成list的方法
Jun 14 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
Python调用C语言程序方法解析
Jul 07 Python
Python3合并两个有序数组代码实例
Aug 11 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 Python
简单且有用的Python数据分析和机器学习代码
Jul 02 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 #Python
Python二叉树的镜像转换实现方法示例
Mar 06 #Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 #Python
Python中一般处理中文的几种方法
Mar 06 #Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 #Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 #Python
详解django2中关于时间处理策略
Mar 06 #Python
You might like
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
jquery.qrcode在线生成二维码使用示例
2013/08/21 Javascript
jQuery$命名冲突怎么办如何解决
2014/01/16 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
vuejs如何配置less
2017/04/25 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
[00:20]TI9观赛名额抽取Ⅱ
2019/07/24 DOTA
python清除指定目录内所有文件中script的方法
2015/06/30 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
python实现彩票系统
2020/06/28 Python
Python实现线性插值和三次样条插值的示例代码
2019/11/13 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
高一自我鉴定
2013/12/17 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
感谢信怎么写
2015/01/21 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
大国崛起英国观后感
2015/06/02 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
详解SQL的窗口函数
2022/04/21 Oracle