Я довольно новичок в программировании на C и испытываю некоторые трудности, пытаясь сосредоточиться на использовании GSocket для отправки UDP-сообщений.
Приложение, над которым я работаю, очень простое.У меня есть поля GTK_ENTRY, где пользователь может ввести IP-адрес, порт и сообщение, и когда они нажимают кнопку, он должен отправить сообщение через 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);
}
Программа компилируется без ошибок, но когда я запускаю функцию, сообщение не отправляется.
I 'Я уверен, что мне не хватает чего-то глупого, но любая помощь будет принята с благодарностью !!