so i get 2 Packets in one.
I need to sync or is something wrong with the Code ?
Thanks for help(;
Code:
int _ConnectIt(void * unused)
{
printf("Connecting to 222.111.x.x - ***!\n");
long rc;
SOCKADDR_IN addr;
rc=startWinsock();
memset(&addr,0,sizeof(SOCKADDR_IN));
addr.sin_family=AF_INET;
addr.sin_port=htons(30001);
addr.sin_addr.s_addr=inet_addr("222.111.x.x");
if(rc!=0) {
printf("Fehler: startWinsock, fehler code: %d\n",rc);
return 1;
}
else {
printf("Winsock gestartet!\n");
}
s=socket(AF_INET,SOCK_STREAM,0);
if(s==INVALID_SOCKET){
printf("Fehler: Der Socket konnte nicht erstellt werden, fehler code: %d\n",WSAGetLastError());
return 1;
}
else{
printf("Socket erstellt!\n");
}
if(!connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR))){
printf("Verbunden mit ...\n");
while(true)
{
if(!_Get_Recv())
break;
if(buf[2] == 0x2A){
printf("Server Response, to Generate AESKey/Sync etc\n");
}
}
}
Code:
#define DEFAULT_BUFLEN 1024
char* buffer= (char*) malloc(1024);
int iResult, data;
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
char* buf;
bool _Get_Recv()
{
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
while(true){
iResult = recv(s, recvbuf, recvbuflen, 0);
if ( iResult > 0 ){
printf("Bytes received: %d\n", iResult);
buf=recvbuf;
return true;
}else if ( iResult == 0 ){
printf("Connection closed\n");
system("PAUSE");
}else{
printf("recv failed: %d\n", WSAGetLastError());
system("PAUSE");
}
}
}






