请教各位:
Datasocket数据通信的时候,客户端要开通什么服务吗?我在自己的机子上打开Datasocket服务器,并写数据进去,局域网中的另一台计算机作为客户端,可是没有办法连接,请问可能是什么问题呢?
客户端的程序:
int CVICALLBACK OnConnectAuto (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
HRESULT error;
char URL[500];
switch (event)
{
case EVENT_COMMIT:
singleX = 0;
ClearGraph();
GetCtrlVal (panel, PANEL_STRING_3, URL);
//printf("the source is %s\n",URL);
error = DS_Open (URL, DSConst_ReadAutoUpdate,
DSCallback, NULL, &dsHandle);
break;
}
return 0;
}
void CVICALLBACK DSCallback (DSHandle dsHandle, int event, void *pUserData)
{
HRESULT hr = S_OK;
float singleFloat;
char message[1000];
unsigned int sz;
unsigned type;
switch (event) {
case DS_EVENT_DATAUPDATED:
ClearGraph();
hr = DS_GetDataType (dsHandle, &type, NULL, NULL);
if (type & CAVT_ARRAY)
{
hr = DS_GetDataValue (dsHandle, CAVT_FLOAT|CAVT_ARRAY, fdata,
5000*sizeof(float), &sz, NULL);
}
else
{
hr = DS_GetDataValue (dsHandle, CAVT_FLOAT, &singleFloat,
sizeof(float), NULL, NULL);
if (singleX >= 5000)
singleX = 0;
fdata[singleX] = singleFloat;
singleX++;
sz = singleX;
}
if (SUCCEEDED(hr))
GraphData(fdata, sz);
return;
break;
case DS_EVENT_STATUSUPDATED:
hr = DS_GetLastMessage (dsHandle, message, 1000);
if (SUCCEEDED(hr))
SetCtrlVal (panelHandle, PANEL_STATUS, message);
break;
}
return;
}
这是CVI中所带的源代码~测试的时候却没有办法通过~~ |