while(1) og recv(socket,buffer,bla,bal)
jeg har denne knap... som jeg vil have til og connecte og så derefter lave et loop der heletiden tjekker om der kommer noget fra den server man er connectet til... recv venter den ikke på at der kommer noget... eller hvis der ikke er noget når den tjekker køre den så bare vidre... ???jeg har denne kode den virker hvis jeg fjerner alt fra while(1) og til slut
{
int port = 12345;
char host[32] = "madman";
WORD sockversion;
WSADATA wsadata;
sockversion = MAKEWORD(1,1);
WSAStartup(sockversion, &wsadata);
LPHOSTENT hosten;
hosten = gethostbyname(host);
thesocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(thesocket == INVALID_SOCKET)
{
WSACleanup();
return;
}
SOCKADDR_IN server;
server.sin_family = AF_INET;
server.sin_addr = *((LPIN_ADDR)*hosten->h_addr_list);
server.sin_port = htons(port);
int test;
test = ::connect(thesocket,(LPSOCKADDR)&server,sizeof(struct sockaddr));
if(test == INVALID_SOCKET)
{
WSACleanup();
return;
}
char recvbuf[1024];
char buf[10000] = "";
while(1)
{
memset(recvbuf, 0, 1024);
test = recv(thesocket,recvbuf,256,0);
if(test == INVALID_SOCKET)
{
WSACleanup();
return;
}
strcpy(buf,recvbuf);
strcat(buf,"\r\n");
strcat(buf,Memo1->Text.c_str());
Memo1->Text = buf;
}
}