Результаты поиска
Как использовать сокет C API в C++ на z/OS
У меня возникли проблемы с получением C сокетов API для правильной работы в C++ на z/OS .
Хотя я включаю sys/socket.h, я все еще получаю ошибки времени компиляции, говорящие мне, что AF_INET не определен.
Я упускаю что-то очевидное, или это связано с тем, что нахождение на z/OS делает мои проблемы намного более сложными?
Update : при дальнейшем расследовании я обнаружил, что есть #ifdef , который я поражаю. Очевидно, z/OS не будет счастлив, если я не определю, с какими "type" сокетами я использую:
#define _OE_SOCKETS
Теперь я лично понятия не имею, для чего это _OE_SOCKETS на самом деле, так что если там есть программисты z/OS сокетов (все 3 из вас), возможно, вы могли бы дать мне краткое описание того, как это все работает?
Тестовое Приложение
#include <sys/socket.h>
int main()
{
return AF_INET;
}
Компиляции/Link Выход :
cxx -Wc,xplink -Wl,xplink -o inet_test inet.C
"./inet.C", line 5.16: CCN5274 (S) The name lookup for "AF_INET" did not find a declaration.
CCN0797(I) Compilation failed for file ./inet.C. Object file not created.
Проверка sys/sockets.h действительно включает в себя определение, которое мне нужно, и, насколько я могу судить, оно не блокируется никакими операторами #ifdef.
Однако я заметил, что он содержит следующее:
#ifdef __cplusplus
extern "C" {
#endif
который инкапсулирует в основном весь файл. Не уверен, что это имеет значение.
Асинхронная многонаправленная связь сервер-клиент через один и тот же открытый сокет?
У меня есть клиент-серверное приложение, где клиент находится на устройстве Windows Mobile 6, написанном на C++ , а сервер находится на полном Windows и написан на C#.
Первоначально он был нужен мне только для отправки сообщений от клиента на сервер, причем сервер только когда-либо отправлял подтверждение того, что он получил сообщение. Теперь я хотел бы обновить его, чтобы сервер мог фактически отправить сообщение клиенту для запроса данных. Поскольку в настоящее время он настроен так, что клиент находится только в режиме приема после отправки данных на сервер, это не позволяет серверу отправлять запрос в любое время. Мне придется ждать клиентских данных. Моей первой мыслью было бы создать еще один поток на клиенте с отдельным открытым сокетом, прослушивая сервер requests...just, как сервер уже имеет в отношении клиента. Есть ли способ, в пределах одного потока и с использованием одного сокета, для всех серверов отправлять запросы в любое время?
Можете ли вы использовать что-то для эффекта WaitForMultipleObjects() и передать ему буфер приема и событие, которое сообщает ему, что есть данные для отправки?
Как я могу определить IP моего маршрутизатора / шлюза в Java?
Как я могу определить IP моего маршрутизатора / шлюза в Java? Я могу получить свой IP достаточно легко. Я могу получить свой internet IP, используя услугу на веб-сайте. Но как я могу определить IP моего шлюза?
Это довольно легко в .NET, если вы знаете свой путь вокруг. Но как это сделать в Java году?
Firefox плагин-сокеты
Я всегда хотел способ сделать сокет-соединение с сервером и позволить серверу управлять страницей DOM. Например, это можно использовать на странице котировок акций, чтобы сервер мог отправлять новые котировки по мере их поступления.
Я знаю, что это классическое ограничение (функция?) протокола запроса/ответа HTTP, но я думаю, что это может быть реализовано как плагин Firefox (кросс-браузерная совместимость не важна для моего приложения). Решения Java/Flash неприемлемы, потому что (насколько я знаю) они живут в коробке и не могут взаимодействовать с DOM.
Может ли кто-нибудь подтвердить, что это в пределах возможностей плагина Firefox? Кто-то уже создал это или что-то подобное?
Настроить сокет Java на fail-fast при отключении?
У меня есть порт прослушивания на моем сервере, к которому я подключаюсь с помощью класса Java и интерфейса Socket , i.e.
Socket mySocket = new Socket(host,port);
Затем я хватаю OutputStream, украшаю PrintWriter в режиме автозапуска, и я смеюсь - за исключением того, что порт прослушивания закрывается. Тогда я получаю
tcp4 0 0 *.9999 *.* LISTEN
tcp 0 0 127.0.0.1.45737 127.0.0.1.9999 CLOSE_WAIT
и я не могу обнаружить проблему в программе - я попытался использовать метод isConnected() на сокете, но он, похоже, не знает, что соединение закрыто.
Я хочу знать о проблеме в следующий раз, когда я попытаюсь написать в сокет, чтобы я мог попытаться снова подключиться и сообщить о проблеме.
Какие-нибудь советы, пожалуйста?
Спасибо всем
Максимальная длина буфера для sendto?
Как получить максимальное количество байт, которое может быть передано вызову sendto(..) для сокета, открытого как порт UDP?
Повторное подключение логики с уведомлениями о подключении
Скажем, у меня есть приложение, которое хочет постоянное соединение с сервером. Как реализовать логику connection/re-connection, чтобы я не тратил ресурсы (power/bandwidth), и у меня есть быстрое время повторного подключения при подключении appears/improves? если я использую только уведомления о подключении, я могу застрять на проблемах, не связанных с локальной сетью.
Бонус, если бы вы могли показать мне версию C# .
Бесплатный Сетевой Монитор
У меня возникли проблемы с интеграцией двух продуктов, один из которых мой, и они, похоже, не разговаривают. Поэтому я хочу убедиться, что они правильно общаются. Я посмотрел вокруг для сетевого монитора и нашел TCP Spy. Это работает, но показывает только 1 сторону разговора за раз (он должен работать локально) я бы в идеале хотел видеть обе стороны одновременно - но вы не можете запустить две копии TCP Spy.
Я ударил Sourceforge,но ничего не выскакивает - я разработчик Windows, у меня нет perl.
Я нашел пару других, которые являются калеками и совершенно бесполезны, поэтому мне было интересно, что используют ребята SO для просмотра разговора TCP?
BTW-продукт ' not-written-here ' не является браузером.
Как получить свой собственный (локальный) IP-адрес из udp-сокета (C/C++)
- У вас есть несколько сетевых адаптеров.
- Привязка сокета UDP к локальному порту без указания адреса.
- Принимайте пакеты на одном из адаптеров.
Как вы получаете локальный ip-адрес адаптера, который получил пакет?
Вопрос в том, "What is the ip address from the receiver adapter?" не адрес от отправителя, который мы получаем в
receive_from( ..., &senderAddr, ... );
вызов.