基础模拟通话网络程序:

 #客户端
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. HDU5890:Eighty seven(Bitset优化背包)

    Mr. Fib is a mathematics teacher of a primary school. In the next lesson, he is planning to teach ch ...

  2. BZOJ_4311_向量_线段树按时间分治

    BZOJ_4311_向量_CDQ分治+线段树按时间分治 Description 你要维护一个向量集合,支持以下操作: 1.插入一个向量(x,y) 2.删除插入的第i个向量 3.查询当前集合与(x,y) ...

  3. AJAX路径问题

    如果发AJAX请求,看发送请求消息的路径,如果看到报404的错,而这个 时候看下发送头部的路径,如果看到%20,这个时候有可能就是写路劲的时候,不小心按了一个空格

  4. python 使用multiprocessing需要注意的问题

    我们在编写程序的时候经常喜欢这样写代码 import MySQLdb import time from multiprocessing import Process conn = MySQLdb.co ...

  5. PCB 线路铜皮面积(残铜率)计算的实现方法

    一个多月没更新博客园了,这里继续分享关于PCB工程相关一些知识,做过PCB工程都知道用使用genesis或incam是可以非常方便的计算得到铜皮面积这个参数[下图],但实际这个软件是通过什么算法计算出 ...

  6. J20170507-ts

    プロンプト n. 提示 オブジェクト n. 对象 アスタリスク *  アンパサンド      & スラッシュ       / イテレータ    n 迭代器 差し詰め 当前 スペル spell ...

  7. linux 问题二 查看系统是32位还是64位

    方法: 1.uname -a 2.uname -m 3.file /sbin/init 4.arch 5.Settings -> Details 说明: 1. i386 适用于intel和AMD ...

  8. BZOJ 2457 [BeiJing2011] 双端队列

    2457: [BeiJing2011]双端队列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 340  Solved: 167[Submit][Sta ...

  9. springboot(十二) SpringBoot 性能优化

    代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo springboot优化主要有三类优化:1.包扫描优化 2. ...

  10. Python转载

    让Python的经验更多一点 Python while 1 和 while True 速度比较 Python %s和%r的区别