Qt 4.8のドキュメントには、次のアドバイスが含まれています。
標準の QIODevice 関数 read()、readLine()、write() などを使用する場合は、最初に connectToHost() を呼び出してソケットをピアに直接接続する必要があります。
だから私は次のコードを試しました:
udp.connectToHost(hostName, hostPort); // connected
udp.bind(hostName, hostPort);
このコードを実行すると、Qt は次のデバッグ メッセージをログに記録します。
QNativeSocketEngine::bind() は QAbstractSocket::UnconnectedState で呼び出されませんでした
つまりbind
、ソケットが未接続状態である必要があります。だから私は次のことを試しました:
udp.bind(hostName, hostPort); // bound
udp.connectToHost(hostName, hostPort);
しかし、それも機能しません。ソケットはホストに接続されず、エラー状態のままです。
QIODevice として使用するために QUdpSocket を構成する正しい方法は何ですか?