Python一个简单的通信程序(客户端 服务器)

 更新时间:2019年03月06日 16:44:16   作者:Dai___  
今天小编就为大家分享一篇关于Python一个简单的通信程序(客户端 服务器),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

功能是从客户端向服务发送一个字符串, 服务器收到后将字符串重新发送给客户端,同时,在连接建立之后,服务器可以向客户端发送任意多的字符串

客户端:

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绘制笛卡尔直角坐标系

    这篇文章主要介绍了利用python绘制笛卡尔直角坐标系,python绘图主要用到matplotlib绘图模块,利用matplotlib模块画出上面的正弦函,需要的朋友可以参考一下
    2022-03-03
  • 利用python汇总统计多张Excel

    利用python汇总统计多张Excel

    这篇文章主要介绍了利用python汇总统计多张Excel,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python如何使用队列方式实现多线程爬虫

    Python如何使用队列方式实现多线程爬虫

    这篇文章主要介绍了Python如何使用队列方式实现多线程爬虫,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • python安装gdal的两种方法

    python安装gdal的两种方法

    这篇文章主要介绍了python安装gdal的两种方法,每种方法给大家介绍的都非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python使用cx_Oracle库连接Oracle数据库指南

    Python使用cx_Oracle库连接Oracle数据库指南

    这篇文章主要为大家介绍了Python使用cx_Oracle库连接Oracle数据库指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • matplotlib绘制动画代码示例

    matplotlib绘制动画代码示例

    这篇文章主要介绍了matplotlib绘制动画代码示例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python中常用脚本集锦分享

    Python中常用脚本集锦分享

    这篇文章为大家收集了一些常用Python脚本,作为平时练手使用,也可以作为自己的笔记,希望对大家有一定的帮助
    2024-11-11
  • Python ttkbootstrap的介绍与使用教程

    Python ttkbootstrap的介绍与使用教程

    这篇文章主要介绍了Python ttkbootstrap的介绍与使用,本文仅仅简单介绍了ttkbootstrap的使用,而ttkbootstrap可以使我们创建一个简单用户图形界面,并对其可以做一些操作,需要的朋友可以参考下
    2023-03-03
  • TensorFlow神经网络优化策略学习

    TensorFlow神经网络优化策略学习

    这篇文章主要介绍了TensorFlow神经网络优化策略
    2018-03-03
  • Python多进程方式抓取基金网站内容的方法分析

    Python多进程方式抓取基金网站内容的方法分析

    这篇文章主要介绍了Python多进程方式抓取基金网站内容的方法,结合实例形式分析了Python多进程抓取网站内容相关实现技巧与操作注意事项,需要的朋友可以参考下
    2019-06-06

最新评论