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基于更相减损术实现求解最大公约数的方法
Apr 04 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
python实现将一个数组逆序输出的方法
Jun 25 Python
Python双向循环链表实现方法分析
Jul 30 Python
Python中print和return的作用及区别解析
May 05 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python数据库编程 Mysql实现通讯录
Mar 27 Python
python代码如何注释
Jun 01 Python
keras的siamese(孪生网络)实现案例
Jun 12 Python
python语言是免费还是收费的?
Jun 15 Python
为什么称python为胶水语言
Jun 16 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
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
php无限遍历目录示例
2014/02/21 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
windows平台中配置nginx+php环境
2015/12/06 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
js模拟滚动条(横向竖向)
2013/02/22 Javascript
jquery显示隐藏input对象
2014/07/21 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python交互环境下实现输入代码
2018/06/22 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Django logging配置及使用详解
2019/07/23 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python利用线程实现多任务
2020/09/18 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
C#基础面试题
2016/10/17 面试题
财务人员求职自荐书范文
2014/02/10 职场文书
软件毕业生个人鉴定
2014/03/03 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书