私はAdaを使用してUDP通信を行っています。このコードは、処理する別のホストにデータを送信する必要があります。私は通信を開始するために最初のメッセージを送信しようとしていますが、動作しません。私のクライアントコードは次のとおりです:AdaでUDPクライアントを作成する方法
with GNAT.Sockets;
use GNAT.Sockets;
with Ada.Text_IO;
with Ada.Exceptions;
use Ada.Exceptions;
procedure Client_Send is
task Send is
entry Start;
entry Stop;
end Send;
task body Send is
Address : Sock_Addr_Type;
Socket : Socket_Type;
Channel : Stream_Access;
begin
accept Start;
-- See comments in Ping section for the first steps.
Address.Addr := Inet_Addr("192.168.0.1");
Address.Port := 7777;
Create_Socket (Socket,Family_Inet,Socket_Datagram);
Bind_Socket (Socket, Address);
Channel := Stream (Socket);
String'Output (Channel, "Hello world");
Free(Channel);
Ada.Text_IO.Put_Line ("Mesnaje Enviado");
Close_Socket (Socket);
accept Stop;
exception when E : others =>
Ada.Text_IO.Put_Line
(Exception_Name (E) & ": " & Exception_Message (E));
end Send;
begin
Initialize (Process_Blocking_IO => False);
Send.Start;
Send.Stop;
Finalize;
end Client_Send;
私はWiresharkを使用してインバウンドトラフィックを表示していますが、何も受信しません。
"私は "ソケットを取得するためにWiresharkを使用して"理解していない。 –
私はネットが受信しているすべてのパケットをキャプチャするためにWiresharkを使用しています。私はそれを正しく送信していないと仮定してクライアントを実行するときに私はそれに何も受信しないので。 –