Python一个简单的通信程序(客户端 服务器)
作者:Dai___ 发布时间:2023-09-09 11:09:39
标签: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()
来源:https://blog.csdn.net/rebelqsp/article/details/22183981
0
投稿
猜你喜欢
- 前言今天制作的这一款能在B站能指定直播间、自动发弹幕的功能的脚本,因为没做那么多的功能,所以代码很简单,适合刚入门的同学学习先打开一个直播间
- 前言Beautiful Soup是python的一个HTML或XML的解析库,我们可以用它来方便的从网页中提取数据,它拥有强大的API和多样
- 本文实例讲述了Python常用字符串替换函数strip、replace及sub用法。分享给大家供大家参考,具体如下:今天在做一道今年秋季招聘
- 本文实例讲述了Python运维自动化之nginx配置文件对比操作。分享给大家供大家参考,具体如下:文件差异对比diff.py#!/usr/b
- 前言今天为大家分享Echarts在Python 的Django框架中的使用项目仓库为https://gitcode.net/sabian2/
- 注:答案一般在网上都能够找到。1.对if __name__ == 'main'的理解陈述2.python是如何进行内存管理的
- 在ASP中,为什么有时候刷新页面后,重新执行ASP代码时就连不上数据库了?这种情况一般发生在动态IP分配中,由于ASP连接数据库是定时的,默
- 列表:list=[val1,val2]1.列表中的每一个元素都是可变的,有序的,可以被查看索引的。可变意味着可以对每个元素进行增删改查的操作
- 本文实例讲述了Python二叉树定义与遍历方法。分享给大家供大家参考,具体如下:二叉树基本概述:二叉树是有限个元素的几个,如果为空则为空二叉
- 在Google Reader上看到网友分享的一个链接,真的发现自己已经out了。上面的这张图,是纯CSS实现的,没有背景图、没有Javasc
- 第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁
- python实现的对文件夹中的图像进行连续的重命名方法:import osclass BatchRename(): def __init__
- Web2.0时代,体验式营销,体验式网站设计开始走向主流,那么体验式网站到底意味着什么?具体表现在那些地方?周末,根据建站的一点经验和观察,
- 本文将梳理github上最火的wechat_jump_game的实现思路,并解析其图像处理部分源码首先废话少说先看效果 核心思想获取棋子到下
- 目前为止,我们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数,则可以避免牢记
- 什么是机器学习 (Machine Learning) 机器学习是研究计算机怎样模
- 二维码的分类线性堆叠式二维码矩阵式二维码二维码的优缺点优点信息容量大编码范围广容错能力强译码可靠性高可引入加密措施成本低,易制作缺点二维码技
- 相信很多与页面打过交道的同学都对 Yahoo 的 Best Practices for Speeding Up Your Web Site
- 1.字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66
- 本文介绍了目前6种比较常用的进度条,让大家都能直观地看到脚本运行最新的进展情况1.普通进度条在代码迭代运行中可以自己进行统计计算,并使用格式