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 相关文章推荐
在Windows系统上搭建Nginx+Python+MySQL环境的教程
Dec 25 Python
django 创建过滤器的实例详解
Aug 14 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
详解python中groupby函数通俗易懂
May 14 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
python制作微博图片爬取工具
Jan 16 Python
Python机器学习之PCA降维算法详解
May 19 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 身份证号验证函数
2009/05/07 PHP
基于empty函数的输出详解
2013/06/17 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
python自动化测试之setUp与tearDown实例
2014/09/28 Python
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python中__call__内置函数用法实例
2015/06/04 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
一行Python代码制作动态二维码的实现
2019/09/09 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
给全校老师的建议书
2014/03/13 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
新教师岗前培训方案
2014/06/05 职场文书
公司踏青活动方案
2014/08/16 职场文书
实习生工作证明范本
2014/09/14 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
结婚十年感言
2015/07/31 职场文书
父亲节感言
2015/08/03 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang