Не подскажит ли всезнающий Олл как сделать следующее:
платформа: VC++ (эхотажный)
1. есть программа (клиент/сервер) c DGRAM сокетом
(простая прога для обмена сообщениями)
проблема в следущем:
немогу передать в recvfrom char *text; sizeof(text)
онный возвращет SOCKET_ERROR (-1)... если же передавать
char text[N]; sizeof(text) тогда все нормально работает
sendto посылает нормально char*.
В чем трабл??? просто неохота организовывать статические сообещния
ИМХО это как неочень будет хотелось бы избежать таких ограничений.
2. как заставить recvfrom слушать сокет только когда в него приходить мессага???
т.е. recvfrom весит в бесконечном цикле в ожидании а как-только в сокет поступило
сообщение recvfrom просыпается...
3. как просканировать все порты??? определить на каком порте открыт сокет???
да в принципе просто узнать какие порты открыты??? именно програмным путем (VC++)
4. как определить ip или имя машины с которой происходит обман сообщениями
например (по icq) или в чате???
wbr, Yuri
03.04.04 13:20: Перенесено модератором из '.NET' — AVK
Здравствуйте, shadow-2004, Вы писали:
S2>проблема в следущем:
S2> немогу передать в recvfrom char *text; sizeof(text)
sizeof(text) в данном случае — размер УКАЗАТЕЛЯ text, т.е. 4 байта.
Что-то я сомневаюсь что это то что Вы ожидаете.
S2>2. как заставить recvfrom слушать сокет только когда в него приходить мессага???
S2> т.е. recvfrom весит в бесконечном цикле в ожидании а как-только в сокет поступило
S2> сообщение recvfrom просыпается...
По-умолчанию (на блокирующем сокете) recvfrom так и работает.
S2>4. как определить ip или имя машины с которой происходит обман сообщениями
Здравствуйте, shadow-2004, Вы писали:
S2>Не подскажит ли всезнающий Олл как сделать следующее:
S2>платформа: VC++ (эхотажный)
S2>3. как просканировать все порты???
зачем тебе все? сканировать — в лоб — пытаясь открыть соединение
определить на каком порте открыт сокет???
getsockname()
S2> да в принципе просто узнать какие порты открыты??? именно програмным путем (VC++)
сканировать
S2>4. как определить ip или имя машины с которой происходит обман сообщениями
S2> например (по icq) или в чате???
getpeername()
S2>wbr, Yuri