Connect 方法會將處理程序連接至位於指定 Socket 位址與埠的設備測試伺服器。
int RiCOSConnectionPort_Connect(
RiCOSConnectionPort *const me,
const char* const SocketAddress,
unsigned int nSocketPort);
me
RiCOSConnectionPort 物件。
SocketAddress
Socket 位址。預設值是 NULL。
nSocketPort
Socket 的埠號。預設值是 0。
連線狀態。可能的值如下:
RiCOSResult RiCOSConnectionPort_Connect(
RiCOSConnectionPort * const me,
const char* const SocketAddress,
unsigned int nSocketPort)
{
if (me==NULL) return 0;
if (NULL == me->m_dispatchfunc) {
fprintf(stderr, "RiCOSConnectionPort_SetDispatcher
is called before
RiCOSConnectionPort_Connect()\n");
return 0;
}
if ( 0 == me->m_Connected ) {
(void)RiCOSSocket_init(&me->m_Socket);
me->m_Connected = RiCOSSocket_createSocket(
&me->m_Socket,SocketAddress,nSocketPort);
}
if (0 == me->m_Connected)
return 0;
/* 所建立的連線呼叫執行緒,以
從 Socket 接收訊息 */
me->m_ConnectionThread = RiCOSTask_create((
void (*)(void *))readFromSockLoop,
(void *)me,"tRhpSock",RiCOSDefaultStackSize);
RiCOSTask_start(me->m_ConnectionThread);
return me->m_Connected;
}