我使用两个m / c A和B,两者都具有相同的vxworks图像以及硬件。但只有改变才是应用。假设M / c A是服务器而M / c B是客户端。而以太网客户端M / c上的通信无法发送数据。它被卡住了send()和任务状态将是Pend。
wState = send(vstCCEUSerSocket.wCCEUAcceptFD,(char* )vstCCEUAppTask.rgubyCCEUTxPkt,sizeof(vstCCEUAppTask.rgubyCCEUTxPkt),0);
/*logMsg("\nTrmtd = %d\t",wState);*/
if(wState == ERROR)
{
perror("write");
Close the Fd
}
答案 0 :(得分:0)
来自VxWorks OS Libraries API Reference
您可以找到有关connect()的信息,但也有一个connectWithTimeout()
Page 1203/1204您可能会发现TCP套接字的一些有趣的项目。例如KEEP_ALIVE
如果您依赖快速连接时间,并且想要保持控制,则可以将connectWithTimeout与保持活动结合起来。
我可能需要一天的时间来回忆旧代码,以检查我在其中一个项目中是如何解决这个问题的。