当前位置: 首页 > news >正文

在线做字网站厦门关键词优化企业

在线做字网站,厦门关键词优化企业,个人可以做网站吗,青岛市做网站网络编程–udp实现简单的客户端服务端对话 udp与tcp不同,udp不需要连接服务端,不会产生阻塞,可以同时多个客户端给服务端发消息。 基于udp套接字的服务端: 创建数据报套接字绑定地址消息的收发关闭套接字 基于udp套接字的客户…

网络编程–udp实现简单的客户端服务端对话

udp与tcp不同,udp不需要连接服务端,不会产生阻塞,可以同时多个客户端给服务端发消息。

基于udp套接字的服务端:

  1. 创建数据报套接字
  2. 绑定地址
  3. 消息的收发
  4. 关闭套接字

基于udp套接字的客户端:

  1. 创建套接字
  2. 消息的收发
  3. 关闭套接字

利用上述步骤实现多个客户端同时给服务端发送消息

服务端代码:

# udp_server.py
from socket import *# 创建套接字
sockfd = socket(AF_INET, SOCK_DGRAM)# 绑定地址
server_addr = ('0.0.0.0', 8888)
sockfd.bind(server_addr)
print('服务端已开启....')
while True:# 接收消息data, addr = sockfd.recvfrom(1024)# 发送消息if data.decode() == '##':print(addr, '已退出')continueprint(addr, '说', data.decode())sockfd.sendto('接收到你的消息'.encode(), addr)

客户端代码:

# udp_client.py
from socket import *# 创建套接字
sockfd = socket(AF_INET, SOCK_DGRAM)# 设置要发送到服务端地址
HOST = '127.0.0.1'
PORT = 8888
ADDR = ((HOST, PORT))
# ADDR = (('127.0.0.1', 8888))while True:# 发送消息data = input('>> ')sockfd.sendto(data.encode(), ADDR)if data == '##':break# 接收消息data, addr = sockfd.recvfrom(1024)print(data.decode())
# 关闭套接字
sockfd.close()

在这里插入图片描述

还有一种方法是自己输入IP地址和端口号,

写法如下:

# udp_client.py
from socket import *
# 首先导入sys模块
import sys# 因为我们只需要ip和端口号,所以利用sys.argv输入的长度必须大于等于3,后边详解
if len(sys.argv) < 3:print('''argv is error!run aspython udp_client.py 127.0.0.1 8888''')raise# 设置要发送到服务端地址
# HOST = '127.0.0.1'
# PORT = 8888
# ADDR = ((HOST, PORT))
# 改写一下地址方式,获取终端输入的地址和端口号
HOST = sys.argv[1]
PORT = int(sys.argv[2])
ADDR = (HOST, PORT)# 创建套接字
sockfd = socket(AF_INET, SOCK_DGRAM)while True:# 发送消息data = input('>> ')sockfd.sendto(data.encode(), ADDR)if data == '##':break# 接收消息data, addr = sockfd.recvfrom(1024)print(data.decode())
# 关闭套接字
sockfd.close()

在这里插入图片描述

此图是raise之前的图

加了raise后(windows好像不认识raise),加入不输入端口号,报错信息

E:\tuduPython\code\udp>python udp_client.py 127.0.0.1argv is error!run aspython udp_client.py 127.0.0.1 8888Traceback (most recent call last):File "udp_client.py", line 36, in <module>PORT = int(sys.argv[2])
IndexError: list index out of range

如果多输入一些信息:

E:\tuduPython\code\udp>python udp_client.py 127.0.0.1 8888 123456 hello
>>

此时就进来了,因为我们切出了我们需要的,就算后边还有,但是我们不需要,也就不要紧了。

讲解一下sys.argv

首先要导入sys模块

import sys# 打印输出的内容
print(sys.argv)

运行并打印的内容如下:

E:\tuduPython\code\udp>python argv.py hello word
['argv.py', 'hello', 'word']

打印结果是一个列表,第一个是该文件的名字,从第二个开始是输入的内容(以空格分割),在上边的例子中,我们只需要第一个和第二个,也就是列表的下标为0和1的内容。

The end!

http://www.lbrq.cn/news/2720269.html

相关文章:

  • 网站建设需要软件前端seo是什么
  • idc销售网站源码宁波seo教程
  • web前端怎么制作网站seo友情链接
  • 怎样把网站打包做百度小程序上海宝山网站制作
  • 软件企业网站建设栏目结构图产品关键词
  • 济南网站开发培训班网页设计代做
  • web网站开发与实现深圳网站设计公司排行
  • 动态网站设计的目的苏州关键词seo排名
  • 如何给自己做的网站留后门怎么推广网址
  • 网站开发需求分析用的图在线生成个人网站
  • 抚州市企业网站建设长沙seo优化哪家好
  • 赣州做网站的公司有哪家好长春网站建设制作
  • 做网站后台需要学什么网络舆情管控
  • 网站建设咨询公司推荐成人英语培训
  • 谷歌sem推广搜索引擎优化的简写是
  • 自适应网站可以做伪静态页面吗百度网盘搜索神器
  • 长沙可以做网站的公司seo好seo
  • 代理做减肥网站新闻摘抄2022最新5篇
  • 宁波建设网站公司免费引流推广怎么做
  • 怎么做优惠网站百度推广点击一次多少钱
  • 龙岩做网站推广网推公司干什么的
  • wordpress的插件下载地址武汉seo优化分析
  • 企业网站推广的策略有哪些央视网新闻
  • 去网站做dnf代练要押金吗百度网站首页入口
  • 网站建设和优化的好处软文范例100字以内
  • 做网站需要准备的工具外汇交易平台
  • 河南靠谱seo电话宁波seo搜索引擎优化
  • 廊坊做网站多少钱腾讯朋友圈广告投放价格
  • 长沙正规网站制作公司做网页用什么软件好
  • 修改wordpress后台默认地址优化设计三年级上册语文答案
  • 力扣习题:基本计算器
  • 用 1 张 4090 复现 GPT-3.5?——单卡 24 GB 的「渐进式重计算」训练实践
  • 【科研绘图系列】R语言绘制多种饼图
  • JVM执行引擎深入理解
  • QT(事件)
  • 稳定且高效:GSPO如何革新大型语言模型的强化学习训练?