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

有专业做网站的吗gre考/抖音seo供应商

有专业做网站的吗gre考,抖音seo供应商,深圳网站建设费用多少钱,私募基金网站怎么做seo目录 1. 创建socket2. udp网络程序-发送数据3. udp网络程序-接收数据4. python3中的编码转换5. udp端口绑定1. 创建socket 在 Python 中 使用socket 模块的函数 socket 就可以完成(大多数的编程语言的套路是相似的): import socket socket.so…

目录

  • 1. 创建socket
  • 2. udp网络程序-发送数据
  • 3. udp网络程序-接收数据
  • 4. python3中的编码转换
  • 5. udp端口绑定

1. 创建socket

在 Python 中 使用socket 模块的函数 socket 就可以完成(大多数的编程语言的套路是相似的):

import socket
socket.socket(AddressFamily, Type)

说明:

函数 socket.socket 创建一个 socket,该函数带有两个参数:

  • Address Family:可以选择 AF_INET(用于 Internet 进程间通信) 或者 AF_UNIX(用于同一台机器进程间通信),实际工作中常用AF_INET
  • Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要用于 TCP 协议)或者 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)

创建一个udp socket(udp套接字):

import socket# 创建udp socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# ...
# 使用套接字收/发数据# 关闭socket
udp_socket.close()

说明:

  • 套接字使用流程 与 文件的使用流程很类似
    1. 创建套接字
    2. 使用套接字收/发数据
    3. 关闭套接字

2. udp网络程序-发送数据

创建一个基于udp的网络程序流程很简单,具体步骤如下:

  1. 创建客户端套接字
  2. 发送/接收数据
  3. 关闭套接字
import socketdef main():# 创建套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 读取输入的数据send_data = input('请输入要发送的数据:')# 发送数据send_addr = ('192.168.92.190', 7878)udp_socket.sendto(send_data.encode('GBK'), send_addr)# 关闭udp_socket.close()if __name__ == '__main__':main()

在ubuntu的终端中执行:

1156642-20181205214407279-406283568.png

在windows中运行“网络调试助手”:

1156642-20181205214520715-1298986964.png

3. udp网络程序-接收数据

import socketdef main():# 创建套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定一个本地信息localaddr = ("", 8080)udp_socket.bind(localaddr)# 接收数据recv_data = udp_socket.recvfrom(1024)# recv_data是一个元组(接收到的数据, (发送方的IP, port))recv_msg = recv_data[0] # 存储接收到的数据send_addr = recv_data[1] # 存储发送方的地址# 打印收到的消息# print(recv_data)print("%s:%s" % (str(send_addr), recv_msg.decode('GBK')))# 关闭udp_socket.close()if __name__ == '__main__':main()

在ubuntu的终端中执行:

1156642-20181205222405077-1668725574.png

在网咯助手中发送数据:

1156642-20181205222457657-772347713.png

4. python3中的编码转换

  • 使用socket发送的是数据的二进制,需要将字符串转换成bytes
str.encode()
  • 使用socket接收的是数据的二进制,需要将bytes转换成字符
bytes.decode()

在ipython3中尝试:

In [2]: text = "一串文本"In [3]: text
Out[3]: '一串文本'In [5]: bytes_text = text.encode()In [6]: bytes_text
Out[6]: b'\xe4\xb8\x80\xe4\xb8\xb2\xe6\x96\x87\xe6\x9c\xac'In [7]: type(text)
Out[7]: strIn [8]: type(bytes_text)
Out[8]: bytesIn [9]: decoded_text = bytes_text.decode()In [10]: decoded_text
Out[10]: '一串文本'

其中decode()与encode()方法可以接受参数,其声明分别为:

bytes.decode(encoding="utf-8", errors="strict")
str.encode(encoding="utf-8", errors="strict")

其中的encoding是指在解码编码过程中使用的编码(此处指“编码方案”是名词),errors是指错误的处理方案。

详细的可以参照官方文档:

  • str.encode()
  • bytes.decode()

5. udp端口绑定

  • 一个udp网络程序,运行时没有绑定端口,系统会给它分配一个随机的端口,如果再次运行,端口可能发生变化
  • 一个udp网络程序,也可以绑定信息(ip地址,端口号),如果绑定成功,那么操作系统用这个端口号来进行区别收到的网络数据是否是此进程的

什么时候需要绑定端口呢?

一般来说,如果要做成一个服务端的应用程序的话,是需要绑定固定端口的。

转载于:https://www.cnblogs.com/zhangfengxian/p/python-socket-udp.html

http://www.jmfq.cn/news/4885507.html

相关文章:

  • 免费注册一个网站/舆情危机公关公司
  • 想成为网站设计师要怎么做/营销官网
  • 网站建设中服务器的搭建方式有几种/今日最新军事新闻
  • 重庆品牌型网站建设多少钱/百度指数怎么分析
  • 网站icp备案认证怎么做/企业网页设计报价
  • 网站接单做项目/长沙网站建设
  • 如何做繁体字网站/百度优化软件
  • wordpress可以做什么站/外贸网站建设
  • 大连做网站多少钱/网站seo分析
  • html5微网站源码/保定百度seo排名
  • 做资源下载网站好吗/电商网站前端页面内容编写
  • 网站开发微信支付功能/软文写手兼职
  • 芜湖做网站哪个公司好/肇庆seo外包公司
  • 广州微网站建设/搜索引擎网站推广如何优化
  • 手机网站 wap/建网站
  • 做网站开发的公司销售/网络营销公司名字大全
  • 域名到期了网站备案还有效吗/灰色推广
  • vs可以做网站吗/优化设计七年级下册数学答案
  • 看网站是不是WP做的/企业网站定制
  • 免费的黄冈网站有哪些代码/河南网站推广公司
  • 商丘网站建设模板/双滦区seo整站排名
  • 龙华学校网站建设/刷seo快速排名
  • 南海今天最新军事新闻最新消息/seo品牌
  • 建设部资质申报网站/it教育培训机构排名
  • 深圳市龙华区政府在线官网/宁波seo排名外包公司
  • 网站建设电话销售/苏州网站
  • 购物网电商网站开发毕业论文/互联网营销课程体系
  • 武汉网站建设公司厂家地址/河北高端网站建设
  • 文章收录网站/项目推广方案
  • 孝感网站的建设/b站2023推广网站