基础模拟通话网络程序:

 #客户端
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 网络编程篇的更多相关文章

  1. Python网络编程篇之socketserver

    1.socketserver模块和类 socketserver是标准库中的一个高级模块,目标是简化很多样板代码(创建网络客户端和服务器所必须的代码) 这个模块封装了socket编程所需要的各种各样的类 ...

  2. Python网络编程篇之socket

    1 socket 插座?呵呵,想多了,翻译过来意思是套接字! A network socket is an internal endpoint for sending or receiving dat ...

  3. Python网络编程篇之select和epoll

    1. select 原理 在多路复⽤的模型中, ⽐较常⽤的有select模型和epoll模型. 这两个都是系统接⼝, 由操作系统提供. 当然, Python的select模块进⾏了更⾼级的封装. ⽹络 ...

  4. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  5. Python 网络编程(二)

    Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...

  6. python网络编程应用(一)

     在之前的一篇博客<python网络编程基础>中介绍了socket.socket()函数及其应用,其实socket模块中还有很多属性可供网络应用程序使用.这里将详细讲解一下socket模块 ...

  7. day7_直播_网络编程篇(元昊老师著)

    网络编程篇计算机网络: 多台独立的计算机用网络通信设备连接起来的网络.实现资源共享和数据传递. 比如,我们之前的学过的知识可以将D盘的一个文件传到C盘,但如果你想从你的电脑传一个文件到我的电脑上目前是 ...

  8. Python网络编程--Echo服务

    Python网络编程--Echo服务 学习网络编程必须要练习的三个小项目就是Echo服务,Chat服务和Proxy服务.在接下来的几篇文章会详细介绍. 今天就来介绍Echo服务,Echo服务是最基本的 ...

  9. 图解Python网络编程

    返回目录 本篇索引 (1)基本原理 (2)socket模块 (3)select模块 (4)asyncore模块 (5)asynchat模块 (6)socketserver模块 (1)基本原理 本篇指的 ...

随机推荐

  1. bzoj 1098 办公楼biu —— 链表+栈

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1098 首先,没有连边的人一定得在一个连通块里: 先把所有人连成一个链表,然后从第一个人开始, ...

  2. HDU 2077 汉诺塔IV (递推)

    题意:... 析:由于能最后一个是特殊的,所以前n-1个都是不变的,只是减少了最后一个盘子的次数,所以根据上一个题的结论 答案就是dp[n-1] + 2. 上一题链接:http://www.cnblo ...

  3. Not enough free disk space on disk '/boot'(转载)

    转自:http://m.oschina.net/blog/277224 # 解决 出现此情况是因为你的boot分区是单独分区的,像我只给了100M,以前装ubuntu时没有出现,所以当出现这个提示时, ...

  4. hdoj1176【DP】

    DP基础吧.A掉还是挺爽的.就是考虑在两端只能是从前一秒的内部一米或原来的点来进行,但是在5秒以内可到达点是逐渐外扩的,并不是[0,10],所以就特殊考虑了一下.后面两端是0和10,中间的点可以从上一 ...

  5. 严格次小生成树(lca + 倍增)

    题目描述 小C最近学了很多最小生成树的算法,Prim算法.Kurskal算法.消圈算法等等.正当小C洋洋得意之时,小P又来泼小C冷水了.小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得 ...

  6. Python 字符串太长分行写

    原文:https://blog.csdn.net/peng__dada/article/details/79138135 #第一种:三个单引号 print '''我是一个程序员       我刚开始学 ...

  7. iOS NavigationBar 导航栏自定义

    1. 设置导航栏NavigationBar的背景颜色: a)  setBarTintColor : 设置NagivationBar的颜色 也可以用 : [[UINavigationBar appear ...

  8. 进程与线程(2)- python实现多进程

    python 实现多进程 参考链接: https://morvanzhou.github.io/tutorials/python-basic/multiprocessing/ python中实现多进程 ...

  9. C#操作高低位

    比如一个数 想把高位 与地位拆开,分别显示 可以用这个办法 x=(uint16)(x>>8)   (高字节向右移动8位 相当于*256) X=(UINT16)(X &0X00FF) ...

  10. php.ini配置文件位置

    laravel之今天遇到个意想不到的问题: 我在测试文件上传,大于2M的文件时候hasFile() 方法报错,这一定是文件大小限制.接下来就跳坑了 1.首先查找php.ini的位置,就用find / ...