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 实现插入排序算法
Jun 05 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
Python selenium抓取微博内容的示例代码
May 17 Python
python主线程捕获子线程的方法
Jun 17 Python
transform python环境快速配置方法
Sep 27 Python
对Python中内置异常层次结构详解
Oct 18 Python
浅谈pyqt5中信号与槽的认识
Feb 17 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
Python+Tkinter制作专属图形化界面
Apr 01 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
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
php记录代码执行时间(实现代码)
2013/07/05 PHP
php获取linux命令结果的实例
2017/03/13 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
python九九乘法表的实例
2017/09/26 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
Python寻找路径和查找文件路径的示例
2019/07/10 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
写给保洁员表扬信
2014/01/08 职场文书
学校安全教育制度
2014/01/31 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
大学生新学期计划书
2014/04/28 职场文书
代办社保委托书范文
2014/10/06 职场文书
地心历险记观后感
2015/06/15 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python