基础模拟通话网络程序:

 #客户端
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. [Selenium] 使用Chrome Driver 的示例

    //导入Selenium 库和 ChromeDriver 库 pachage com.learningselenium.simplewebdriver; import java.util.concur ...

  2. 【JSOI 2014】序列维护

    [题目链接] 点击打开链接 [算法] 线段树 注意标记下传 [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 5 ...

  3. 【旧文章搬运】Windows句柄分配算法(一)

    原文发表于百度空间,2009-04-04========================================================================== 分析了Wi ...

  4. java使用new Date()和System.currentTimeMillis()获取当前时间戳(转载)

    转自:http://www.cnblogs.com/wuchen/archive/2012/06/30/2570746.html 在开发过程中,通常很多人都习惯使用new Date()来获取当前时间, ...

  5. .NET Core 3.0之深入源码理解Configuration(二)

      文件型配置基本内容 上一篇文章讨论了Configuration的几个核心对象,本文继续讨论Configuration中关于文件型配置的相关内容.相比较而言,文件型配置的使用场景更加广泛,用户自定义 ...

  6. sublime text3安装配置c++环境(windows+ubuntu)

    1.下载sublime text3 官网地址:http://www.sublimetext.com/3 ubuntu直接在Ubuntu Software中搜索sublime安装 2.配置环境变量(wi ...

  7. mysql关于时间函数的应用

    1.获取今天的数据 date_format(publishtime, '%Y-%m-%d')= date_format(now(), '%Y-%m-%d') 2.获取今天和明天的数据 server.b ...

  8. AtCoder Regular Contest 081 F - Flip and Rectangles

    题目传送门:https://arc081.contest.atcoder.jp/tasks/arc081_d 题目大意: 给定一个\(n×m\)的棋盘,棋盘上有一些黑点和白点,每次你可以选择一行或一列 ...

  9. Hdu 2089 不要62 (数位dp入门题目)

    题目链接: Hdu 2089 不要62 题目描述: 给一个区间 [L, R] ,问区间内不含有4和62的数字有多少个? 解题思路: 以前也做过这个题目,但是空间复杂度是n.如果数据范围太大就GG了.今 ...

  10. PHP常见的输出语句 echo()、print()、print_r()、var_dump()、pinrtf()之间的区别

    echo().print().print_r().var_dump().pinrtf()之间的区别 1.print() :简单输出语句,可以输出字符串,变量.表达式等单项的值!(不能输出数组.对象等复 ...