美文网首页
网络通信UDP

网络通信UDP

作者: Dalvik_ | 来源:发表于2019-01-17 17:26 被阅读0次

TCP/IP协议

四层表示:链路层--->网络层--->传输层--->应用层
七层表示:物理层--->数据链路层--->网络层--->传输层--->会话层--->表示层--->应用层

Socket

创建一个tcp socket(tcp套接字)

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Socket Created'

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

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print 'Socket Created'

使用Socket发送消息

import socket

udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

sendAddr = ("192.168.0.178", 8888)

sendData = "Hello World"

udpSocket.sendto(bytes(sendData, 'utf-8'), sendAddr)

udpSocket.close()

使用Socket接收数据

import socket

udpSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

bindAddr = ('', 8888)  # ip地址和端口号,ip一般不用写,表示本机的任何一个ip
udpSocket.bind(bindAddr)

recvData = udpSocket.recvfrom(1024)  # 1024表示本次接收的最大字节数
print(recvData)

udpSocket.close()

UDP广播

import socket

# 相当于 192.168.1.255 通用的网段写法
dest = ('<broadcast>', 7788)

# 创建udp套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 对这个需要发送广播数据的套接字进行修改设置,否则不能发送广播数据
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

# 以广播的形式发送数据到本网络的所有电脑中
s.sendto("Hi".encode('utf-8'), dest)

print("等待对方回复(按ctrl+c退出)")

while True:
    (buf, address) = s.recvfrom(2048)
    print
    "Received from %s: %s" % (address, buf)

广播只能在UDP中使用

相关文章

  • udp网络通信

    udp网络通信 1.网络概念 1.1 IP地址 ip 是网络中一台计算机唯一标识 ip地址 xxx.xxx.xx...

  • 网络通信UDP

    TCP/IP协议 四层表示:链路层--->网络层--->传输层--->应用层七层表示:物理层--->数据链路层--...

  • 广播和多播-Java(译)

    UDP网络通信第二篇,翻译自国外网站。原文:Broadcasting and Multicasting in Ja...

  • MFC网口编程

    Socket套接字通信 TCP UDP详解(网络通信)[https://blog.csdn.net/qq_4179...

  • (二)网络编程之各种协议

    TCP和UDP 1.网络通信协议 网络通信协议:为什么要有网络通信协议呢?就好比在现实中要有法律法规一样,这样才能...

  • Boost(二)

    boost::asio asio 主要用于网络通信,封装了socket API, 包含了TCP, ICMP,UDP...

  • 网络通信-TCP/UDP

    参考:https://blog.csdn.net/zhang6223284/article/details/814...

  • 史上最简单的Sockte通信--1

    Socket,是基于网络通信协议封装的一个网络通信接口,可以支持TCP或UDP通信协议。通常是应用于TCP协议,这...

  • 网络编程

    今日介绍内容 1、网络通信协议 2、UDP通信 3、TCP通信 第一章 网络通信协议 通过计算机网络可以使...

  • 初见Linux-socket

    什么叫网络编程? 就是使用网络协议,进行网络通信。数据报->UDP 流式套接字-> TCP 原始套...

网友评论

      本文标题:网络通信UDP

      本文链接:https://www.haomeiwen.com/subject/rhnbdqtx.html