Other Parts Discussed in Thread: CC3100
主题中讨论的其他器件:CC3100
大家好、
我想在一台 TCP 服务器上进行 TCP 多客户端连接。 我连接了一个客户端和服务器。 它在工作。
如何将其设为多个。?
如果您有任何示例、请附上。
此致、
Aravinth
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、Jan、
这是我的代码。 我遇到 StackOverFlow (vApplicationStackOverflowHook)错误。 您能不能说出您在该代码上发现的任何错误。
#define STACKSIZE_WiFITASK 256
#define STACKSIZE_WiFiRevTASK 128
静态_i32 wifi TcpServerInit (_U16端口)
{
LocalAddr.Sin_Family = SL_AF_iNet;
LocalAddr.Sin_port = sl_Htons ((_U16) Port);
LocalAddr.Sin_addr.s_addr = 0;
SockID = sl_Socket (sl_AF_iNet、sl_sock_stream、0);
if (SockID < 0)
{
UARTprintf ("[TCP Server]创建套接字错误\n\r");
ASSERT_ON_ERROR (SockID);
}
UARTprintf ("[TCP Server]创建套接字成功\n\r");
AddrSize = sizeof (SlSockAddrIn_t);
状态= sl_Bind(SockID,(SlSockAddr_t *)&LocalAddr,AddrSize);
if (状态< 0)
{
sl_close (SockID);
UARTprintf ("[TCP Server]套接字地址分配错误\n");
ASSERT_ON_ERROR (状态);
}
UARTprintf ("[TCP Server]套接字地址分配成功\n"\});
状态= sl_listen (SockID、7);
if (状态< 0)
{
sl_close (SockID);
UARTprintf ("[TCP Server]侦听错误\n\r\n);
ASSERT_ON_ERROR (状态);
}
UARTprintf ("[TCP Server]侦听成功\n\r\n);
while (1)
{
newSockID = sl_accept (SockID、(struct SlSockAddr_t *)&Addr、
(SlSockklen_t*) AddrSize);
if (newSockID < 0)
{
sl_close (SockID);
UARTprintf ("[TCP Server]接受连接错误\n\r");
ASSERT_ON_ERROR (newSockID);
}
UARTprintf ("[TCP Server]接受连接成功\n\r\n);
UARTprintf ("连接计数=%d \r\n"、++count);
TCPServer_RevDataTaskInit (newSockID);
}
//
//
//这是 CC3100 WiFi TCPServer_RevDataTask
//
//
静态空
TCPServer_RevDataTask (void *pvParameters)
{
_i16 状态= 0;
_U16计数= 0;
_i16 recvSize = 0;
UARTprintf ("[TCP Server] pvParameters =%d \n\r\n、pvParameters);
while (1)
{
recvSize = BUF_SIZE;
操作
{
status = wifi TcpServerRevData (((uint32_t) pvParameters、&(data_buf[BUF_size - recvSize])、recvSize、0);
if (状态<=0)
{
WiFi_TcpServerClose ((uint32_t) pvParameters);
UARTprintf ("[TCP Server]数据恢复错误\n\r\n);
// wify_connection = false;
// assert_ON_ERROR (tcp_RECV_ERROR);
}
recvSize --=状态;
}while (recvSize >0);
UARTprintf ("[TCP Server] pvParameters =%d Count =%d \r\n"、pvParameters、++count);
}
}
//
//
//初始化 TCPServer_RevDataTaskInittask。
//
//
uint32_t
TCPServer_RevDataTaskInit (_i16 TCPSockID)
{
//
//创建 WiFi 任务。
//
if (xTaskCreate (TCPServer_RevDataTask、(const portCHAR *)"TCPServer_RevDataTask"、
STACKSIZE_WiFiRevTASK、(void *) TCPSockID、
tskIDLE_PRIORITY + PRIORY_WiFi_TASK、NULL)!= pdTRUE)
{
退货(1);
}
此致、
Aravinth