python - PyQt5 QUdpSocket 未绑定到地址和端口
问题描述
def main():
app = QCoreApplication([])
local_ip = QHostAddress('192.168.43.126')
port = 2359
udp_socket = QUdpSocket()
b = QByteArray()
b.append('i0000,0000')
udp_socket.writeDatagram(b, QHostAddress('192.168.43.1'), port)
udp_socket.bind(QHostAddress('192.168.43.126'),port)
while True:
#print('in the while loop')
while udp_socket.hasPendingDatagrams():
#print('has pending datadrams ')
s = udp_socket.readDatagram(10)
print(s)
app.exec_()
if __name__ == '__main__':
main()
这我不工作套接字没有绑定到端口我不知道为什么我需要让服务器等待消息但不使用信号
解决方案
试试看:
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtNetwork import QUdpSocket, QHostAddress
def main():
app = QCoreApplication([])
local_ip = QHostAddress('192.168.43.126')
port = 2359
udp_socket = QUdpSocket()
b = QByteArray()
b.append('i0000,0000')
#udp_socket.bind(QHostAddress('192.168.43.126'),port)
udp_socket.bind(QHostAddress.LocalHost, port)
#udp_socket.writeDatagram(b, QHostAddress('192.168.43.1'), port)
udp_socket.writeDatagram(b, QHostAddress.LocalHost, port)
while True:
#print('in the while loop')
while udp_socket.hasPendingDatagrams():
#print('has pending datadrams ')
s = udp_socket.readDatagram(10)
print("\nQHostAddress.LocalHost", QHostAddress(QHostAddress.LocalHost).toString())
print(s)
app.exec_()
if __name__ == '__main__':
main()
推荐阅读
- orocommerce - 如何使“标价”显示默认值?
- android - OnTouchListener 没有触发
- python - 在 pybox2d 物理模拟中,物体不会掉落
- javascript - 如何在javascript中计算二维数组元素的周长总和?
- algorithm - Fenwick Tree 的实现给了 TLE
- vue.js - vue 未找到此依赖项:来自 chokidar (C:\) 的错误:错误:EBUSY:资源繁忙或锁定,lstat 'C:\hiberfil.sys'
- python - 在 matplotlib 中绘制不同形状的二维数组
- javascript - React - event.preventDefault() 在提交时不起作用
- ios - SwiftUI UIScrollView 当用户滚动到底部附近时检测
- python - TypeError:“datetime.date”对象的描述符“strftime”不适用于“NoneType”对象