Люди будьте добры подскажите пожалуйста почему вот этот код :
struct sockaddr_in ssin;
char strHlp[]="localhost";
struct hostent* hp;
if( (hp=gethostbyname(strHlp)) == NULL )
{
return -1;
}
bzero((char *)&ssin, sizeof(ssin));
bcopy(hp->h_addr, (char *)&ssin.sin_addr, hp->h_length);
ssin.sin_family = hp->h_addrtype;
ssin.sin_port = htons(PortNum);
while(1)
{
a=accept(s,0,(socklen_t*) sz);
cout << "Accept:" << a << endl;
if(a==-1)
{
cout << "Can't accept!!!\n";
break;
}
r=recv(s, ( void*)sBuff, sizeof(sBuff),0);
cout << "Recv:" << r << endl;
if(r==-1)
{
cout << "Can't recv!!!\n";
break;
}
cout << sBuff;
выдает "Can't recv!!!" в бесконечном цикле? (код сокращен если надо могу уточнить) а вот этот (то же сокращен) :
struct sockaddr_in ssin;
char strHlp[]="localhost";
struct hostent* hp;
if( (hp=gethostbyname(strHlp)) == NULL )
{
return -1;
}
bzero((char *)&ssin, sizeof(ssin));
bcopy(hp->h_addr, (char *)&ssin.sin_addr, hp->h_length);
ssin.sin_family = hp->h_addrtype;
ssin.sin_port = htons(PortNum);
cin >> MyBuff;
if((mMessage = send(Socket,( void *)MyBuff, sizeof(MyBuff),0))==-1)
cout << "Not send\n";
else
cout << mMessage << "of" << sizeof(MyBuff) << "byte send\n";
выдает "Not send"?
Пытаюсь сконнектить их друг с другом.... но может быть не по тому порту пробую(скажите по какому надо)? Или я просто что то не доглядел по тупости или рассеяности? connect ,bind, socket, listen ,accept выдают 0
значит работают........