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编程中super关键字的用法
Jun 24 Python
python操作mysql数据库
Mar 05 Python
Python中的函数作用域
May 07 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Python中的枚举类型示例介绍
Jan 09 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
python打包生成so文件的实现
Oct 30 Python
浅谈Python中对象是如何被调用的
Apr 06 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
express框架下使用session的方法
2019/07/31 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
Python中的hypot()方法使用简介
2015/05/18 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
美国在线珠宝商店:SZUL
2017/02/11 全球购物
internal修饰符起什么作用
2013/12/16 面试题
工程专业毕业生自荐信范文
2013/12/25 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python