各位帮忙瞅瞅,这段代码为什么连接失败
SOCKET fd; char sendBuf[512];
CString docFileName="d:\\a001.doc";
int sendLen = docFileName.GetLength();
if((fd = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
{
TRACE("SOCKET() ERROR\r\n");
// AfxMessageBox("SOCKET() ERROR\r\n");
return false;
}
SOCKET fd; char sendBuf[512];
CString docFileName="d:\\a001.doc";
int sendLen = docFileName.GetLength();
if((fd = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
{
TRACE("SOCKET() ERROR\r\n");
// AfxMessageBox("SOCKET() ERROR\r\n");
return false;
}
解决方案 »
- 编写实时获取摄像头的图象并显示在对话框上应用到哪些函数库
- carray排序,删除元素,填入新元素的问题
- CHARFORMAT 或 LOGFONT 序列化 到文本 有什么好的建议? 十分感谢!50分
- ADO怎么那么难用?
- 各位大侠,急求SOCKET编程问题,在线等,谢谢!
- 请教VC6中的message dialog的用法???
- 请问如何把MOUSE的光标CURSOR换成其它图片,再换回来?谢谢
- 用VC开发Windows程序是否只有MFC可用?
- 使用lib
- 请问,哪位大哥是在Intel做软件开发的?
- 如何将不可见的控件的图形界面画到另外一个设备环境中?
- m_Recordset=m_Command->Execute(.....); 结果集数据指针不能往前移动MovePrevious();求助!!
SOCKET fd; char sendBuf[512];
CString docFileName="d:\\a001.doc";
int sendLen = docFileName.GetLength();
char recvBuf[64];
struct sockaddr_in server;
struct hostent *he;
memset(sendBuf,0,512);
strcpy(sendBuf,docFileName.GetBuffer(sendLen)); if((fd = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET)
{
TRACE("SOCKET() ERROR\r\n");
// int error = GetLastError();
// AfxMessageBox("SOCKET() ERROR\r\n");
return false;
}
if((he=gethostbyname("localhost"))==NULL)
{
TRACE("get local ip error\r\n");
return false;
}
memset(&server,0,sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(SERVER_PORT);
server.sin_addr = *((in_addr*)he->h_addr_list[0]);
if(connect(fd,(sockaddr*)&server,sizeof(sockaddr))==INVALID_SOCKET)
{
TRACE("CONNECT ERROR\r\n");
int error=GetLastError();
closesocket(fd);
return false;
}
int sendResult = send(fd,sendBuf,sendLen,0);
if((sendResult==SOCKET_ERROR)||(sendResult!=sendLen))
{
TRACE("send request fail \r\n");
closesocket(fd);
return false;
}
TRACE(sendBuf);
TRACE("\r\n"); memset(recvBuf,0,64);
int recvResult = recv(fd,recvBuf,64,MSG_PEEK);
if((recvResult!=0) && (recvResult!=SOCKET_ERROR))
{
CString recvAck(recvBuf,recvResult);
if(recvAck.CompareNoCase("ok")==0)
{
TRACE("receive data ok\r\n");
closesocket(fd);
return true;
}
}
TRACE(recvBuf);
TRACE("\r\n");
closesocket(fd);
return false;