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 04 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
numpy.std() 计算矩阵标准差的方法
Jul 11 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
详解python tkinter教程-事件绑定
Mar 28 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
Oct 24 Python
Django和Flask框架优缺点对比
Oct 24 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
基于Django signals 信号作用及用法详解
Mar 28 Python
python 负数取模运算实例
Jun 03 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
php使用sql数据库 获取字段问题介绍
2013/08/12 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
python绘制双柱形图代码实例
2017/12/14 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python跳出多重循环的方法示例
2019/07/03 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
护理专业的自荐信
2013/10/22 职场文书
高中的自我鉴定
2013/12/16 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
作文评语集锦
2014/12/25 职场文书
销售开票员岗位职责
2015/04/15 职场文书
毕业论文致谢词
2015/05/14 职场文书
本科毕业论文致谢怎么写
2015/05/14 职场文书
导游词之山西-五老峰
2019/10/07 职场文书
Python语言中的数据类型-序列
2022/02/24 Python