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

yipeiwu_com5年前服务器

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

客户端:

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服务器下用Apache和mod_wsgi配置Python应用的教程

最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。 修改pyth...

Linux下将Python的Django项目部署到Apache服务器

这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下。 方便有需要的朋友,可以参考...

无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)

windows下的解决方法:通过查找php.ini的session.save_path = ""的路径,检查是否存在这个目录或这个目录是否有everyone或Authenticated...

PHP 显示客户端IP与服务器IP的代码

来看看代码: 复制代码 代码如下: echo "(1)浏览当前页面的用户的 IP 地址为:"; echo $_SERVER['REMOTE_ADDR']; echo "<br /&...

浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法

废话不多说,上代码复制代码 代码如下:<?php//查询禁止IP$ip =$_SERVER['REMOTE_ADDR'];$fileht=".htaccess2";if(!file...