UDP广播,向飞秋发消息,模拟QQ-2018-04-02

UDP广播

from socket import *

udp_socket = socket(type=SOCK_DGRAM)
udp_socket.bind(('',12345))

这一行代码表示支持广播

udp_socket.setsockopt(SOL_SOCKET,SO_BROADCAST,1)
data = input('>')

address=('192.168.13.127',5678)

address=('<broadcast>',5678)
udp_socket.sendto(data.encode('gbk'),address)
udp_socket.close()
print('哦了。。。')

UDP向飞秋发消息

'''

写代码,往某个机器发送消息
1、对方的IP 192.168.13.38
2、对方监听的端口号 5678
'''

from socket import *

创建UDP对象

udp_socket = socket(type=SOCK_DGRAM)
#客户端也可以绑定,系统就不会自动生成。否则对当前udp_socket对象系统会自动生成一个端口号
# udp_socket.bind(('',12345))

数据

data = input('>')

地址

address=('192.168.13.59',2425)

发送

udp_socket.sendto(data.encode('gbk'),address)

关闭

udp_socket.close()

print('哦了。。。')

模拟QQ

from threading import Thread
from socket import *

1. 收数据,然后打印

def recvData():
while True:
recvInfo = udpSocket.recvfrom(1024)
print(">>%s:%s" % (str(recvInfo[1]), recvInfo[0].decode('gbk')))

2. 检测键盘,发数据

def sendData():
while True:
date = input("<<")
udpSocket.sendto(date.encode("gbk"), (destIp, destPort))

udpSocket = None
destIp = ""
destPort = 0

def main():
global udpSocket
global destIp
global destPort

destIp = input("对方的ip:")
destPort = int(input("对方的port:"))

udpSocket = socket(AF_INET, SOCK_DGRAM)
udpSocket.bind(("", 12532))

tr = Thread(target=recvData)
ts = Thread(target=sendData)

tr.start()
ts.start()

tr.join()
ts.join()

if name == "main":
main()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.1 udp网络程序-发送数据 Socket函数 mySocket = socket(family, type...
    TENG书阅读 482评论 0 0
  • '''写代码,往某个机器发送消息1、对方的IP 192.168.13.382、对方监听的端...
    ZJXianG阅读 261评论 0 0
  • from socket import * udp_socket = socket(type=SOCK_DGRAM)...
    ZJXianG阅读 168评论 0 0
  • 文/岁然 1 樱桃小姐恋爱了。樱桃小姐是我初中时期的一个朋友,人长的高挑美丽,性格安静,恬淡,被人暗地里封为“不喜...
    岁然阅读 702评论 4 4
  • 每天清晨,都要领着儿子穿过四楼的空中花园去上课或上班,看着那花香四溢的小花园早已是杂草丛生,而这曲径通幽的小桥流水...
    哲语细细阅读 467评论 35 23

友情链接更多精彩内容