Forum Discussion
Altera_Forum
Honored Contributor
13 years agoThe laptop client is written under VC++ 6.0.
# include <Winsock2.h>
# include <stdio.h>
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
fd_set rfd,wfd;
struct timeval timeout;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
char recvBuf;
memset(recvBuf,0,100);
char sendbuf;
memset(recvBuf,0,100);
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("169.254.228.120");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(30);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
recv(sockClient,recvBuf,100,0);
printf("%s\n\n",recvBuf);
int cnt=0;
while(1){
cnt++;
send(sockClient,"1",2,0);
printf("1 sent OK!\n\n");
//Sleep(100);
recv(sockClient,recvBuf,2,0);
printf("%s\nrecieved OK!\ncnt=%d\n\n",recvBuf,cnt);
}
closesocket(sockClient);
WSACleanup();
}
Note: If don't comment the line"Sleep(100);", the loop will not get hanged, but this will cause time loss, and I can't understand why it should be like this.