Thread 中讨论的其他器件:CC3200
实现客户端套接字连接
我找到了一个示例,但我认为我没有正确地将服务器 IP (网关)地址(C0A83101或192.168.49.1)放在 sAddr 结构中。
processors.wiki.ti.com/.../CC32xx_TCP_Socket_Application_0.5.2
返回的错误是-111、连接被拒绝、如下面我的控制台所示
[NetApp 事件] IP 设置为:IPV=192.168.49.113,Gateway=192.168.49.1
用户:
[p2pstart]:P2P 已连接,正在启动套接字连接
[p2pstart]:客户端连接 sl_Socket ()
[p2pstart]:客户端连接 sl_Connect()
[p2pstart]:C0A83101
[p2pstart]:sl_Connect ()[line:1734,error:-111] Socket error,please refer "socket errors codes" section in errors.h
下面是我的客户端套接字连接实现
// 使用标准参数打开套接字
UART_PRINT ("\n\n\r\n[p2pstart]:客户端连接 sl_Socket ()\n\n");
newsock = sl_Socket (sl_AF_iNet、sl_sock_stream、0);
if (newsock < 0)
{
//错误
UART_PRINT ("[p2pstart]:sl_Socket ()[line:%d、error:%d]%s\n"_、_line__、status、sl_socket_error);
返回-1;
}
//连接到服务器 IP 和端口号
UART_PRINT ("\n\n\r\n[p2pstart]:客户端连接 sl_Connect ()\n\r");
UART_PRINT ("\n\n\r\n[p2pstart]:%X \n\r"、sAddr.in4.sin_addr.s_addr);
status = sl_Connect (newsock、CSA、addrSize);
if (status < 0)
{
//错误
UART_PRINT ("[p2pstart]:sl_Connect ()[line:%d、error:%d]%s\n\r\n、__line__、status、sl_socket_error);
sl_close (newsock);
返回-1;
}
这是我尝试将 IP 地址写入 CSA 指针指向的 sAddr 结构
/*填写 TCP 服务器套接字地址*/
sAddr.in4.sin_family = SL_AF_iNet;
//设置服务器的端口:我们将在此端口上接收连接请求*/
sAddr.in4.sin_port = sl_Htons (unsigned short) portNumber); // 5001
// sAddr.in4.sin_addr.s_addr = sl_INADDR_ANY;
sAddr.in4.sin_addr.s_addr = APP_CB.CON_CB.GatewayIP; //C0A83101或192.168.49.1
SA =(SlSockAddr_t*)&sAddr.in4;
CSA =(SlSockAddr_t*) sAddr.in4;
addrSize = sizeof (SlSockAddrIn_t);