0

結果として、ラズベリーパイからWindows 7にudpパケットを送信する必要があります。Windows側では、UDPclientを使用してudpデータをリッスンします。これがコードです。

        byte[] data = new byte[1024];
        string input, stringData;
        UdpClient server = new UdpClient("127.0.0.1", 9050);

        IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);

        while (true)
        {
            data = server.Receive(ref sender);
            stringData = Encoding.ASCII.GetString(data, 0, data.Length);
            Console.WriteLine(stringData);
        }
        Console.WriteLine("Stopping client");
        server.Close();

ラズベリーパイ側では、作業を行うためのbashスクリプトを書きたいのですが、方法がわかりません。いくつかのテストを行ったので、次のように入力します。

nc -vnzu 192.168.0.104

出力は次のとおりです。192.168.0.104 9050 ポートへの接続 [udp/*] 成功しました!

そして、私が入力した場合:

 nc -4u -w1 192.168.0.104 9050

出力はありませんが、まだエラーはないようです。

nc を使用しない場合は、次のように入力します。

echo -n "hello" >/dev/udp/192.168.0.104/9050

エラーメッセージは表示されませんが、Windows側では、上記のc#プログラムは受信データを表示しません

だから、誰でもこれを行う方法を教えてもらえますか、bashスクリプト形式が最適です、ありがとう。

4

1 に答える 1

0

ほとんどの bash 実装には/dev/udp/ /dev/tcpsupport がコンパイルされていないため、それが機能しない理由である可能性があります。

それらが有効になっていると仮定すると、問題は Windows 7 側のファイアウォール構成の問題である可能性があります。Windows 7 ファイアウォールが、選択したポート (9050) への受信接続を許可していることを確認します。

于 2013-05-19T08:51:37.270 に答える