脚本:

模拟服务器和客户端交互:

import argparse, socket
from datetime import datetimeIP = "127.0.0.1"
CODING = "utf8"
MAX_BYTES = 65535  # UDP最大长度def server(port):  # port:端口号sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # SOCK_DGRAM表示使用udp,SOCK_STREAM表示TCPsock.bind((IP, port))  # 表示进程启动后监听port端口print("Listing at {}".format(sock.getsockname())) #getsockname返回(ip,port)while True:  # 不停的接收客户消息,然后告诉客户消息的长度data, address = sock.recvfrom(MAX_BYTES)  # 接受客户端发来的消息,data表示消息数据,address表示客户地址text = data.decode(CODING)  # 使用utf8解码二进制流,还原成字符串print('The client at {} says {}'.format(address, text))text = 'Your data was {} bytes long'.format(len(data))sock.sendto(text.encode(CODING), address)def client(port):sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)text = 'The time is {}'.format(datetime.now())sock.sendto(text.encode(CODING), ("127.0.0.1", port))print('The os assigned me the address {}'.format(sock.getsockname()))  # 客户程序的端口号是操作系统随机分配的,每次进程启动端口都会变化data, address = sock.recvfrom(MAX_BYTES)print('The server {} replied {}'.format(address, data.decode(CODING)))if __name__ == '__main__':choices = {'client': client, 'server': server}parser = argparse.ArgumentParser(description='Send and receive UDP locally')parser.add_argument('role', choices=choices, help='which orle to play: client or server.')parser.add_argument('-p', metavar='PORT', type=int, default=1060, help='UDP port(defuault 1060)')args = parser.parse_args()function = choices[args.role]function(args.p)

结果:
服务端:

客户端:
每次是随机端口

模拟服务器和客户端交互的python脚本相关推荐

  1. Redis源码剖析(一)服务器与客户端交互流程

    Redis中的C/S模型 Redis底层还是基于网络请求的,对于单机数据库而言,网络请求仅仅是在一台机器上交互,即服务器客户端都在一台计算机上 当在终端输入redis-serve时,便启动了一个Red ...

  2. python 管理windows客户端_在远程windows客户端上执行python脚本

    我正在使用paramiko在远程windows服务器上执行命令.我能够执行dir之类的命令并提取输出,但是执行python脚本似乎失败了.不会引发错误消息.在 下面是我的代码片段:def ssh_co ...

  3. 服务器获取客户端电脑文件,python实现获取客户机上指定文件并传输到服务器的方法 -电脑资料...

    作者:上大王 字体:[增加 减小] 类型:转载 这篇文章主要介绍了python实现获取客户机上指定文件并传输到服务器的方法,涉及Python实现C/S架构程序与socket程序的使用技巧,需要的朋友可 ...

  4. 服务器与客户端交互(简述)

    ---恢复内容开始--- 今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服 ...

  5. 网络编程:使用tcp协议实现服务器与客户端交互

    服务器 ************************************************************************************************ ...

  6. 云服务器运行UI交互型挂机脚本,断开连接后失效问题

    大二的时候老师学校要求英语外教社的学习时长不得低于多少,但是很明显都没人去学习,于是就写了个自动挂机的程序.就是每隔一段时间点击下一页面,在自己的电脑上完美运行.但是在云服务器上会出现,远程桌面连接期 ...

  7. Python开发服务器巡检系统,东拼西凑用python脚本登录web管理页面做巡检(未实现)...

    参考 参考了网上很多博客拼出如下代码实现了登录ilom管理页面的登录 好像管理页面用了js渲染无法取到想的值未能实现巡检功能 #-*- coding:utf-8 -*- import sys from ...

  8. ktor框架用到了netty吗_教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor

    Ktor 是一个使用 Kotlin 以最小的成本快速创建 Web 应用程序的框架. Ktor 是一个用于在连接系统(connected systems)中构建异步服务器和客户端的 Kotlin 框架. ...

  9. 基于 HTML5 WebGL 的 3D 服务器与客户端的通信

    这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 机房方面的模拟一般都是需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算 ...

最新文章

  1. vue 保存全局变量_Vue+Typescript起手式
  2. 截取指定字符前_Excel应该怎么学--表格维护常用文本函数(截取、转换、连接)...
  3. 1131 Subway Map (30 分)【难度: 难 / Dijkstra最短路】
  4. NYOJ 514 1的个数
  5. python怎么查询元素是否在列表中_python怎么判断某一元素是否在列表中
  6. mvc怎么单独引用css文件,关于asp.net mvc:如何在剃刀视图中引用.css文件?
  7. 程序员犯的非技术错误(Top 5)
  8. 手绘导图版:深入解析机器学习在风控场景中的8大应用
  9. 豆瓣 为什么不用php,豆瓣网友是不是都疯了?
  10. 【Flink】改进的BLOB存储架构
  11. 北京黄记煌餐饮管理有限责任公司签约Ebistrategy亦策软件
  12. 教你用illustrator画十二色环
  13. 养成这个好习惯,让播音主持成为你的加分项
  14. 协成 协成驱动方式 事件驱动
  15. Photoshop设计精讲精练笔记(二)
  16. 流上机器学习,星环科技Sophon Base助力海洋石油富岛工艺监测智能化
  17. 扇贝编程的python课怎么样_‎扇贝编程-人人能学会的python课 a l’App Store
  18. 2021年美赛解题思路汇总Final!!!
  19. JSP+SQL基于JSP的学生信息管理系统(源代码+论文+答辩PPT)
  20. 在DAZ3D STUDIO中使用.OBJ和.FBX三维模型

热门文章

  1. 设计php框架_自制PHP框架之设计模式
  2. 保存点云数据_PCL入门系列三——PCL进行数据读写
  3. 塔罗牌第五张是什么牌_塔罗牌四季牌阵:冬至将至,快来看看未来这三个月运势如何?...
  4. mpvue v-html解决方案,mpvue开发小程序所遇问题及h5转化方案
  5. 文件 服务器 pandas,疑难杂症-使用pandas_profiling查看EDA数据文档遇到的一些坑
  6. tg3269c网卡驱动linux,TP-Link3269C网卡驱动官方版
  7. mysql与sim900a_sim900a的应用,基于SIM900A-GPRS模块的远程文件传输实例
  8. 关于Java中serialUID的序列化的问题
  9. t’触发器真值表和状态方程_清写出触发器按逻辑特性的分类;写出T触发器的状态方程。...
  10. NOIP模拟测试18「引子·可爱宝贝精灵·相互再归的鹅妈妈」