void MySocket::MyConnect()
{
sockaddr_in addr; sSocket = socket(AF_INET, SOCK_STREAM, 0); if(sSocket==INVALID_SOCKET)
{
AfxMessageBox("创建Socket错误 !");
return;
} addr.sin_family = AF_INET;
addr.sin_port = htons(cTcpDlg->m_port);
addr.sin_addr.S_un.S_un_b.s_b1 = b1;
addr.sin_addr.S_un.S_un_b.s_b2 = b2;
addr.sin_addr.S_un.S_un_b.s_b3 = b3;
addr.sin_addr.S_un.S_un_b.s_b4 = b4; int iRet = connect(sSocket, (sockaddr*)&addr, sizeof(addr));
if(iRet==SOCKET_ERROR)
{
AfxMessageBox("连接错误 1 !");
return;
} BYTE byRet;
recv(sSocket, (char*)&byRet, 1, 0);
if(byRet)
{
closesocket(sSocket);
AfxMessageBox("连接错误 2 !");
return;
}
}
{
sockaddr_in addr; sSocket = socket(AF_INET, SOCK_STREAM, 0); if(sSocket==INVALID_SOCKET)
{
AfxMessageBox("创建Socket错误 !");
return;
} addr.sin_family = AF_INET;
addr.sin_port = htons(cTcpDlg->m_port);
addr.sin_addr.S_un.S_un_b.s_b1 = b1;
addr.sin_addr.S_un.S_un_b.s_b2 = b2;
addr.sin_addr.S_un.S_un_b.s_b3 = b3;
addr.sin_addr.S_un.S_un_b.s_b4 = b4; int iRet = connect(sSocket, (sockaddr*)&addr, sizeof(addr));
if(iRet==SOCKET_ERROR)
{
AfxMessageBox("连接错误 1 !");
return;
} BYTE byRet;
recv(sSocket, (char*)&byRet, 1, 0);
if(byRet)
{
closesocket(sSocket);
AfxMessageBox("连接错误 2 !");
return;
}
}
解决方案 »
- "通用打开文件对话框"--- 怎么获得用户选定的文件扩展名!!
- 精通c++&windows& 网络编程的人可以加93269234群,大家可以共同探讨
- 问题,急
- 请大家帮帮忙好不好!谢谢!!急死我了!
- 如何控制 iis 创建web站点,和设置 iis的属性,改ip和默认文档等?
- 请教winsock api编程
- MFC+AE手动加载地图(VS2010)
- opengl绘图后看不见模型
- 我的程序要用到有一大堆struct,我想把这些struct单独定义成一个头文件,怎样去做?
- 打印格式
- MessageBoxPrintf (TCHAR * szCaption, TCHAR * szFormat, ...) ...是什么意思?
- _cdecl 和stdcall调用约定的问题(我的基础真差阿)
用了函数WSAStartup 也没有用啊,到这一行还是有错误。
大家谁能告诉我,tcp编程的时候操作系统和vc编译器都需要做那些配置吗?
好像protocol参数传递0是给红外传输用的
#include <winsock2.h>
Project->Setting->Link里有个Object/Library Modules,加ws2_32.lib
http://support.microsoft.com/default.aspx?scid=kb;en-us;185728
如果用了mfc 就用afxsocketinit 包括头文件#include <afxsock.h>
int af,
int type,
int protocol
);The protocol parameter is always set to 0 for IrDA.