本文介绍了从套接字编程中调用C函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谢谢Ash和CPallini.
我在这里放置了发生错误的代码,

thank you Ash and CPallini.
I put the code here which occurs the error,

int WinSock2Server::STEP5_ReceiveAndSendData(SOCKET ClientSocket){
char recvbuf[DEFAULT_BUFLEN];
int recvbuflen = DEFAULT_BUFLEN;
char sendbuf[DEFAULT_BUFLEN];
int sendbuflen = DEFAULT_BUFLEN;
int iResult, iSendResult;

// Receive until the peer shuts down the connection
do {
iResult = recv(ClientSocket, recvbuf, recvbuflen, 0);
if (iResult > 0) {
recvbuf[iResult]= '\0';
printf("Clinet>%s [%d]\n", recvbuf, iResult);
//
//*if (iresult==recvbuf)
// Ended
Router integerRouter;
testList ( integerRouter, "integer");
Router doubleRouter;
testList ( doubleRouter, "double");

// Echo the buffer back to the sender
strcpy(sendbuf, "echo:");
strcat(sendbuf,recvbuf);
sendbuflen = strlen(sendbuf);
iSendResult = send( ClientSocket, sendbuf, sendbuflen, 0 );
if (iSendResult == SOCKET_ERROR) {
printf("Server$>Error while sending data [%d]\n", WSAGetLastError());
closesocket(ClientSocket);
WSACleanup();
return 1;
}
printf("Server$>%s [%d]\n", iSendResult);
}
else
if (iResult == 0){
printf("Connection closing...\n");
}
else {
printf("recv failed: %d\n", WSAGetLastError());
closesocket(ClientSocket);
WSACleanup();
return 1;
}
} while (iResult > 0);
}


这是套接字编程的功能之一-发送和接收数据.在代码的中间,有路由器,整数路由器"和testList ...
当我运行该程序时,它会发生如下错误(它显示''testList'':找不到标识符,"testlist"是我的算法函数):

1> c:\ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(134):错误C3861:``testList'':找不到标识符1> c: \ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(137):错误C3861:``testList'':找不到标识符1> c:\\ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(144):警告C4267:``='':从``size_t''转换为``int'',可能丢失数据1代码...


this is one of functions of socket programming--send and receive data. In the middle of the code, there are "router ,integer router", and testList...
when i run this program, it occurs errors as (it shows the ''testList'':identifier not found,"testlist"is my algorithm function):

1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(134) : error C3861: ''testList'': identifier not found1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(137) : error C3861: ''testList'': identifier not found1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(144) : warning C4267: ''='' : conversion from ''size_t'' to ''int'', possible loss of data1>Generating Code...

推荐答案



这是套接字编程的功能之一-发送和接收数据.在代码的中间,有路由器,整数路由器"和testList ...
当我运行该程序时,它会发生如下错误(它显示''testList'':找不到标识符,"testlist"是我的算法函数):

1> c:\ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(134):错误C3861:``testList'':找不到标识符1> c: \ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(137):错误C3861:``testList'':找不到标识符1> c:\\ documents and settings \ lina \ desktop \ winsock2-basicclientserver1 \ winsock2-basicclientserver \ winsock2server \ server \ winsock2server.cpp(144):警告C4267:``='':从``size_t''转换为``int'',可能丢失数据1代码...


this is one of functions of socket programming--send and receive data. In the middle of the code, there are "router ,integer router", and testList...
when i run this program, it occurs errors as (it shows the ''testList'':identifier not found,"testlist"is my algorithm function):

1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(134) : error C3861: ''testList'': identifier not found1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(137) : error C3861: ''testList'': identifier not found1>c:\documents and settings\lina\desktop\winsock2-basicclientserver1\winsock2-basicclientserver\winsock2server\server\winsock2server.cpp(144) : warning C4267: ''='' : conversion from ''size_t'' to ''int'', possible loss of data1>Generating Code...



这篇关于从套接字编程中调用C函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 11:01
查看更多