저는 C 프로그램에 상당히 익숙하며, GSocket을 사용하여 UDP 메시지를 보내는 데 어려움을 겪고 있습니다.gsocket을 사용하여 UDP를 전송할 때의 문제들
내가 작업하고있는 응용 프로그램은 매우 간단합니다. 사용자가 IP 주소, 포트 및 메시지를 입력 할 수있는 GTK_ENTRY 필드가 있으며 단추를 클릭하면 UDP를 통해 메시지를 지정된 주소와 포트로 보내야합니다.
이 지금까지 내 기능입니다 :
static void send_message()
{
GInetAddress *udpAddress;
GSocketAddress *udpSocketAddress;
GSocket *udpSocket;
udpAddress = g_inet_address_new_from_string(gtk_entry_get_text (GTK_ENTRY (ipField)));
guint16 udpPort = atoi(gtk_entry_get_text (GTK_ENTRY (portField)));
udpSocketAddress = g_inet_socket_address_new(udpAddress, udpPort);
udpSocket = g_socket_new(G_SOCKET_FAMILY_IPV4, G_SOCKET_TYPE_DATAGRAM, 17, NULL);
const gchar *myMessage = gtk_entry_get_text (GTK_ENTRY (mainShowCommandField));
g_socket_send (udpSocket, myMessage, sizeof(myMessage), NULL, NULL);
}
이 프로그램은 오류없이 컴파일은,하지만 난 기능을 실행할 때 메시지가 전송되지 않습니다.
나는 어리석은 뭔가를 놓치고있다라고 확신한다. 그러나 어떤 도움이라도 크게 인정 될 것이다!
glibc는 glib과 다른 점에 유의하십시오. 그 태그를 제거했습니다. – ptomato