socket 时间查询,该如何解决

socket 时间查询
#include<WinSock2.h>

#include <iostream>
using namespace std;

#pragma comment(lib, "WS2_32")


int main()
{
char lReadline[256];
int lRet = 0;
WSADATA lWsaData;
if ((lRet = WSAStartup(MAKEWORD(2,2), &lWsaData)) != 0)
{
cout << "Error " << lRet << endl;
return 0;
}
SOCKADDR_IN lAddr;
lAddr.sin_family = AF_INET;
lAddr.sin_port = htons(13);

SOCKET lSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (INVALID_SOCKET == lSocket)
{
cout << "INVALID_SOCKET" << endl;
return 0;
}
lAddr.sin_addr.s_addr = inet_addr("192.168.2.102");
if (connect(lSocket,(sockaddr*)(&lAddr),sizeof(lAddr)) < 0 )
{
cout << "connect error" << endl;
return 0;
}
int lNum = 0;
if ( (lNum = recv(lSocket,lReadline,255,0)) > 0)
{
cout << lReadline << endl;
}
return 0;
}

运行之后没反应,估计还有问题,但是总算是把《unix网络编程》第一个代码示例改成winsock了,球关注,球提意见! 

------解决方案--------------------
要确定你连接的IP地址和端口是否正确,从代码看程序没问题,可能会阻塞在connect或recv。如果学Windows socket建议直接看WinSock的书。这里有用WinSock实现的一些网络协议源码:下载地址:http://download.****.net/detail/geoff08zhang/4571358