python 网络编程篇
基础模拟通话网络程序:
#客户端
import socket client = socket.socket()
client.connect(('localhost',6969))
client.send(b"hello ni hao") #python3 中只能传输字节码
data = client.recv(1024) #1024指定接受的数据大小 将接受的数据赋值给data
print("recv:",data)
client.close()
import socket #服务端
server = socket.socket()
server.bind(('localhost',6969)) #绑定要监听端口
server.listen() #监听
print("我要开始等电话了")
conn,addr = server.accept() #等电话打进来 accept 会返回两个值 conn,addr conn为连接产生的链接实例 客户端连过来而在服务器端为其生成的一个实例 addr对方链接的地址
print("电话来了")
data = conn.recv(1024) #接受1024字节,将接收的数据赋值给data
print("recv:",data)
conn.send(data.upper()) #将接收的数据进行转大写操作后返回给客户端
server.close()
简易c-s 聊天版本:
#客户端
import socket,time client = socket.socket()
client.connect(('10.139.165.32',))
print("来聊天啦") while True:
message = input("你说:")
print(time.ctime())
if len(message) == : #当输入为空时候,让用户重新输入
continue
client.send(message.encode("utf-8")) #python3 中只能传输字节码 ,如果是传输的中文则必须先encode utf-
data = client.recv() #1024指定接受的数据大小 将接受的数据赋值给data
print("服务器回应:",data.decode())
print(time.ctime())
client.close()
import socket,time #服务端
server = socket.socket()
server.bind(('10.139.165.32',9502)) #绑定要监听端口 server.listen(5) #监听 此处的5表示默认最大挂起链接 (需要在异步时候才能有效果)
print("我要开始等电话了")
print(time.ctime())
while True: conn,addr = server.accept() #等电话打进来 accept 会返回两个值 conn,addr conn为连接产生的链接实例 客户端连过来而在服务器端为其生成的一个实例 addr对方链接的地址
print("电话来了")
print(time.ctime())
while True:
data = conn.recv(1024) #接受1024字节,将接收的数据赋值给data
if not data:
print("客户端链接关闭。。。。")
print(time.ctime())
break print("client sey :",data.decode())
print(time.ctime())
message = input("你回复:")
print(time.ctime())
conn.send(message.encode("utf-8")) server.close()
python 网络编程篇的更多相关文章
- Python网络编程篇之socketserver
1.socketserver模块和类 socketserver是标准库中的一个高级模块,目标是简化很多样板代码(创建网络客户端和服务器所必须的代码) 这个模块封装了socket编程所需要的各种各样的类 ...
- Python网络编程篇之socket
1 socket 插座?呵呵,想多了,翻译过来意思是套接字! A network socket is an internal endpoint for sending or receiving dat ...
- Python网络编程篇之select和epoll
1. select 原理 在多路复⽤的模型中, ⽐较常⽤的有select模型和epoll模型. 这两个都是系统接⼝, 由操作系统提供. 当然, Python的select模块进⾏了更⾼级的封装. ⽹络 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
- python网络编程应用(一)
在之前的一篇博客<python网络编程基础>中介绍了socket.socket()函数及其应用,其实socket模块中还有很多属性可供网络应用程序使用.这里将详细讲解一下socket模块 ...
- day7_直播_网络编程篇(元昊老师著)
网络编程篇计算机网络: 多台独立的计算机用网络通信设备连接起来的网络.实现资源共享和数据传递. 比如,我们之前的学过的知识可以将D盘的一个文件传到C盘,但如果你想从你的电脑传一个文件到我的电脑上目前是 ...
- Python网络编程--Echo服务
Python网络编程--Echo服务 学习网络编程必须要练习的三个小项目就是Echo服务,Chat服务和Proxy服务.在接下来的几篇文章会详细介绍. 今天就来介绍Echo服务,Echo服务是最基本的 ...
- 图解Python网络编程
返回目录 本篇索引 (1)基本原理 (2)socket模块 (3)select模块 (4)asyncore模块 (5)asynchat模块 (6)socketserver模块 (1)基本原理 本篇指的 ...
随机推荐
- 【旧文章搬运】Windows句柄分配算法(二)
原文发表于百度空间,2009-04-04========================================================================== 在创建句柄 ...
- (bmp格式)用CDialog的OnCtlColor()消息响应处理背景画刷。
(bmp格式)用CDialog的OnCtlColor()消息响应处理背景画刷. 加载位图资源IDB_BITMAP1,在Dlg类头文件中加入: CBrush m_brush; 在OnInitDialog ...
- Divide the Sequence
Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...
- Linux下下载百度网盘资料
因为百度网盘没有Linux下的客户端,所以无法直接下载网盘里的资料了.各路大神各显神通,提出了各种解决方法,这里只介绍两种. 1.BaiduPCS Github上有人通过Go语言写了一个Baidu网盘 ...
- IT兄弟连 JavaWeb教程 请求重定向案例
Check2Servlet类与Output2Servlet类之间为请求转发关系.在web.xml文件中,为Check2Servlet映射的URL为"/check2",为Output ...
- JSP | 基础 | JSP行为 | incline && forward
语法 描述 jsp:include 用于在当前页面中包含静态或动态资源 jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 index.jsp <%@ ...
- 跟我一起玩Win32开发(10):绘图(C)
今天我们来欣赏一下用于填充图形的函数,当然我不会逐个去介绍,因为我们参考MSDN直接套参数就可以了. SetDCBrushColor函数有必要扯一下,它的声明如下: COLORREF SetDCBru ...
- HDU6447(离散化扫描线+树状数组)
一眼看过去就x排序扫描一下,y是1e9的离散化一下,每层用树状数组维护一下,然后像dp倒着循环似的树状数组就用y倒着插就可行了. 类似题目练习:BZOJ4653.BZOJ1218 #pragma co ...
- Codeforces Round #402 (Div. 2) D
Description Little Nastya has a hobby, she likes to remove some letters from word, to obtain another ...
- LCA UESTC 92 Journey
题目传送门 题意:先给一棵树,然后有一条额外的边,问u走到v从现在最短的路走和原来不加边走的路节省了多少距离 分析:首先跑不加边的树的LCA,这样能求出任意两点的距离,那么现在x和y多连了一条边,如果 ...