//Client
void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen)
{
int n;
char sendline[_MAX_TBUF_LEN_], recvline[_MAX_TBUF_LEN_ + 1];
sockaddr from;
int fromlen = sizeof(from);
sprintf(sendline, "Message is send");
sendto(sockfd, sendline, strlen(sendline), 0, pservaddr, servlen);
while(n>0){
n = recvfrom(sockfd, recvline, _MAX_TBUF_LEN_, 0, &from, &fromlen);
if(n>0){
cout<<recvline<<"\nFrom"<<"\n";
printf("%i.%i.%i.%i\n",(u_char)from.sa_data[2],(u_char)from.sa_data[3],(u_char)from.sa_data[4],(u_char)from.sa_data[5]);
}
}
}
int main(int argc, char **argv)
{
int sockfd;
struct sockaddr_in servaddr;
WSADATA wsaData;
WSAStartup(0x202,&wsaData);
timeval tv;
tv.tv_sec=5;
tv.tv_usec=0;
if (argc != 2)
Error("usage: udpcli <IPaddress>");
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(5001);
servaddr.sin_addr.S_un.S_addr = inet_addr(argv[1]);
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
int optVal=1;
setsockopt(
sockfd,
SOL_SOCKET,
SO_BROADCAST,
(char*)&optVal,
sizeof(int)
);
setsockopt(
sockfd,
SOL_SOCKET,
SO_RCVTIMEO,
(char*)&tv,
sizeof(tv)
);
dg_cli(stdin, sockfd, (SA *) &servaddr, sizeof(servaddr));
getchar();
exit(0);
}
Определить адреса компов, входящих в локальную сеть
Вопрос!!!!!!! Так вот каким можно определить все адреса всех компов входящих в локальную сеть?????????? Или, что облегчит задачу - как послать сообщение всей сети
Заранее благодарен.
Вот и хорохо, я сам во всем разобрался, и у меня все работает. На вопросы отвечу
Цитата:
Originally posted by dark_king
Вот и хорохо, я сам во всем разобрался, и у меня все работает. На вопросы отвечу
Вот и хорохо, я сам во всем разобрался, и у меня все работает. На вопросы отвечу
:D :)
Цитата:
Originally posted by dark_king
Вот и хорохо, я сам во всем разобрался, и у меня все работает. На вопросы отвечу
Вот и хорохо, я сам во всем разобрался, и у меня все работает. На вопросы отвечу
Ну и как?
Ну как? Работает, да и все тут. На поведение в критических ситуациях еще не проверял. Но обязательно буду над этим работать. Вообще это мой первый опыт с сетями, а проэкт достаточно объемный, так что работы много.
Цитата:
Originally posted by dark_king
Ну как? Работает, да и все тут. На поведение в критических ситуациях еще не проверял. Но обязательно буду над этим работать. Вообще это мой первый опыт с сетями, а проэкт достаточно объемный, так что работы много.
Ну как? Работает, да и все тут. На поведение в критических ситуациях еще не проверял. Но обязательно буду над этим работать. Вообще это мой первый опыт с сетями, а проэкт достаточно объемный, так что работы много.
Самую суть. Ввиде кода можно?
Цитата:
Originally posted by GIZMO
Самую суть. Ввиде кода можно?
Самую суть. Ввиде кода можно?
Получай полуфабрикат.
Клиенту параметром передаешь адрес широковещ. запроса.
Код:
Сервер самый обыкновенный UDP
Извини, что все в кучу, нет особо времени выбирать суть.
А вообще если интересуют сети есть книжка Стивенса "UNIX разработка сетевых приложений".
Цитата:
Originally posted by dark_king
Получай полуфабрикат.
...
Сервер самый обыкновенный UDP
Извини, что все в кучу, нет особо времени выбирать суть.
А вообще если интересуют сети есть книжка Стивенса "UNIX разработка сетевых приложений".
Получай полуфабрикат.
...
Сервер самый обыкновенный UDP
Извини, что все в кучу, нет особо времени выбирать суть.
А вообще если интересуют сети есть книжка Стивенса "UNIX разработка сетевых приложений".
Спасибо, буду пробовать. А эл. виде книжка есть?
Цитата:
Originally posted by GIZMO
Спасибо, буду пробовать. А эл. виде книжка есть?
Спасибо, буду пробовать. А эл. виде книжка есть?
Есть, но отсканирована с глюками. Так что, я думаю оно того не стоит. Но в е-нете поищи, я уверен, что найдется. По крайней мере откликов о ней полно.
Да, еще - кто-нибудь знает, есть ли у винды служба, которая отвечает на сообщения?? Что-то вроде эхо сервера. Если есть, то какой порт она слушает??
Цитата:
Originally posted by dark_king
Есть, но отсканирована с глюками. Так что, я думаю оно того не стоит. Но в е-нете поищи, я уверен, что найдется. По крайней мере откликов о ней полно.
Да, еще - кто-нибудь знает, есть ли у винды служба, которая отвечает на сообщения?? Что-то вроде эхо сервера. Если есть, то какой порт она слушает??
Есть, но отсканирована с глюками. Так что, я думаю оно того не стоит. Но в е-нете поищи, я уверен, что найдется. По крайней мере откликов о ней полно.
Да, еще - кто-нибудь знает, есть ли у винды служба, которая отвечает на сообщения?? Что-то вроде эхо сервера. Если есть, то какой порт она слушает??
есть. стандартный echo сервер например. только надо доставить "простые службы TCP/IP" или что то в этом роде