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 11 Python
python分析apache访问日志脚本分享
Feb 26 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
对Python3使运行暂停的方法详解
Feb 18 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
在python image 中安装中文字体的实现方法
Aug 22 Python
jupyter notebook 实现matplotlib图动态刷新
Apr 22 Python
python输出数学符号实例
May 11 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
查看keras的默认backend实现方式
Jun 19 Python
浅谈python数据类型及其操作
May 25 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 PDO中文乱码解决办法
2009/07/20 PHP
php 代码优化之经典示例
2011/03/24 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
ThinkPHP之getField详解
2014/06/20 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
jquery tab标签页的制作
2010/05/10 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
js实现3D旋转相册
2020/08/02 Javascript
详解vue路由
2020/08/05 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
vuex Module将 store 分割成模块的操作
2020/12/07 Vue.js
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python提取网页中超链接的方法
2016/09/18 Python
python3实现基于用户的协同过滤
2018/05/31 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
装修致歉信
2014/01/15 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
关于教师节的广播稿
2014/09/10 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技
flex弹性布局详解
2022/03/20 HTML / CSS