
21.06.2009, 20:52
|
|
Участник форума
Регистрация: 04.02.2009
Сообщений: 132
С нами:
9086760
Репутация:
1
|
|
Вобщем разобрался с отправкой ответа , скрипт немного переделал
Код:
int main ( )
{
int sockfd,client;
sockfd = socket(PF_INET, SOCK_STREAM, 0);
socklen_t size;
struct sockaddr_in addr;
bzero(&addr, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(PORT);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
// bind()
if(bind(sockfd,(struct sockaddr *) &addr, sizeof(addr)) != 0){
cout << "Error - bind() !" << "\n";
return 0;
}
// listen()
if(listen(sockfd, 5) != 0){
cout << "Error - listen() !" << "\n";
return 0;
}
while(1) {
size = sizeof(addr);
client = accept(sockfd, (struct sockaddr *) &addr, &size);
if(client > 0){
cout << "Coonect-" <<inet_ntoa(addr.sin_addr) <<"\n";
// - пришли данные
char buffer[1024];
bzero(buffer,sizeof(buffer));
recv(client, buffer, sizeof(buffer),0);
cout << buffer << "\n";
//- ответ клиенту
char *reply = "ggg";
send(client, reply, strlen(reply)+1, 0);
}
}
}
Получается к серверу конектятся клиенты и обмениваются данными - конект поддерживается постоянно с клиентом - и вот проблема как определить на стороне сервера что клиент
отключился - разорвал соеденение ?
|
|
|