Драсьте,
Я недавно занялся сокетным программированием по Линух на Ц++.
Попытался написать скрипт для посылки команды на сервер и получения ответа от него. Вот что я смог:
#######################################################################
#include<sys/types.h>
#include</usr/include/sys/socket.h>
#include<iostream>
#include<netinet/in.h>
#include <cstdlib>
#include<arpa/inet.h>
#include<stdio.h>
#include<string.h>
void main(int argc, char *argv[]){
char mes [ 200 ], *mes2;
int sock = socket ( AF_INET, SOCK_STREAM, 0 );
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr ( "127.0.0.1" );
addr.sin_port = htons ( 25 );
if ( (connect ( sock, ( struct sockaddr* )&addr, sizeof ( struct sockaddr ))) == -1 ){
perror ( "connect" );
}
recv ( sock, mes, 200, 0 );
cout << mes;
while ( mes2 != -1 ({
cin >> mes2;
if ( mes2 == -1 ){
break;
}
if ( (send ( sock, mes2, strlen ( mes2 ), 0 )) == -1 ){
perror ( "send" );
}
if ( (recv ( sock, mes, 200, 0 )) == -1 ){
perror ( "recv" );
}
cout << mes;
}
}
#########################################################################
Помогите, пожалуйста с отладкой. Дело в том, что после первого send()
скрипт как бы подвисает и не хочет получать ответы от сервера.
Подскажите в чем моя ошибка или, если вопрос слишком глуп направьте на форум для новичков.
Заранее благодарен,
kzu.