UDPネットワーク

ポート番号を表示する方法?

  • -anビューのnetstatを使用して、プログラムが使用するポート番号
  • lsofは-i [TCP / UDP]:2425 Viewアプリケーションは、ポート番号に対応します
 

UDPの長所と短所

利点:

  • 伝送速度
  • 接続なし、小さなリソースのオーバーヘッド

短所:

  • データ伝送は失うパケットに簡単で、信頼性がありません
  • フロー制御なしには、他の人がデータを受信しなかった場合は、送信者がいっぱいであるバッファデータをもたらすことがデータを送信された、コンピュータがスタック表示されない、すべての受信者のニーズはタイムリーなデータを受信します。

データを送信します

import socket

# 1. 创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口 dest_addr = ('192.168.1.103', 8080) # 注意 是元组,ip是字符串,端口是数字 # 3. 从键盘获取数据 send_data = input("请输入要发送的数据:") # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode('utf-8'), dest_addr) # 5. 关闭套接字 udp_socket.close()

データを送受信

import socket

# 1. 创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2. 准备接收方的地址
dest_addr = ('192.168.236.129', 8080) # 3. 从键盘获取数据 send_data = input("请输入要发送的数据:") # 4. 发送数据到指定的电脑上 udp_socket.sendto(send_data.encode('utf-8'), dest_addr) # 5. 等待接收对方发送的数据 recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数 # 6. 显示对方发送的数据 # 接收到的数据recv_data是一个元组 # 第1个元素是对方发送的数据 # 第2个元素是对方的ip和端口 print(recv_data[0].decode('gbk')) print(recv_data[1]) # 7. 关闭套接字 udp_socket.close()

結合ポート番号

#coding=utf-8

from socket import *

# 1. 创建套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 绑定本地的相关信息,如果一个网络程序不绑定,则系统会随机分配 local_addr = ('', 7788) # ip地址和端口号,ip一般不用写,表示本机的任何一个ip udp_socket.bind(local_addr) # 3. 等待接收对方发送的数据 recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数 # 4. 显示接收到的数据 print(recv_data[0].decode('gbk')) # 5. 关闭套接字 udp_socket.close()

送信放送

import socket
# 创建udpsocket
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 设置socket的选项,允许发送广播消息
    udp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)
    # 发送广播消息
    udp_socket.sendto("大家好,我叫小郭同学,多多关照!".encode("gbk"), ("255.255.255.255", 9090)) # 关闭socket udp_socket.close()
- 符号化および復号化
エンコード()デコード()をデコード
bytes.decode(コード= "UTF-8"、エラー= "厳密")
厳しい:コーデックが失敗したクラッシュの場合
無視:コーデックが失敗した場合にプログラムがクラッシュしません

 

import socket

# 1. 创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口 dest_addr = ('192.168.1.103', 8080) # 注意 是元组,ip是字符串,端口是数字 # 3. 从键盘获取数据 send_data = input("请输入要发送的数据:") # 4. 发送数据到指定的电脑上的指定程序中 udp_socket.sendto(send_data.encode('utf-8'), dest_addr) # 5. 关闭套接字 udp_socket.close()

 

おすすめ

転載: www.cnblogs.com/lab-zj/p/12166229.html