分类:
2008-09-17 11:13:18
我在ActiveX控件上封装了Socket,做了一个C/S模式的,但是控件无法和服务器连接。哪位大哥大姐帮帮忙,先谢谢了。
1、我定义了定义了ClientSocket类,写法就是平常的写法,含:clientsocket.h,clientsocket.cpp
//实现部分
#include "clientsocket.h"
ClientSocket::ClientSocket()
{
Port=5150;
}
void ClientSocket::Create()
{
if ((Ret=WSAStartup(MAKEWORD(2,2),&wsaData))!=0)
{
{
cout < <"WSAStartup failed with error" <
if((s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==INVALID_SOCKET)
{
cout < <"socket failed with error:" <
return;
}
}
ServerAddr.sin_family=AF_INET;
ServerAddr.sin_port=htons(Port);
ServerAddr.sin_addr.s_addr=inet_addr("192.168.0.101");
if(connect(s,(SOCKADDR*)&ServerAddr,sizeof(ServerAddr))==SOCKET_ERROR)
{
cout < <"connect failed with error:" <
WSACleanup();
return;
}
}
bool ClientSocket::Recive(float p)
{
return false;
}
在ActiveX控件部分的情况是这样的:
CFPShowDataCtrl::CFPShowDataCtrl()
{
InitializeIIDs(&IID_DFPShowData, &IID_DFPShowDataEvents);
client_S.Create();//////启动连接
m_dNumber=0;
dtime=1000;
m_pQueue=new CQueue();
m_nPointPerGrid=10;
ELENUM=XNUM*m_nPointPerGrid;
m_colorLine=RGB(220,190,200);
}
执行时,控件的界面能显示,就是控件无法和服务器连接。