我在 cc3220 launchpad (客户端)和 MATLAB (服务器)之间交换数据、Launchpad 将数据发送到 MATLAB、工作正常、但无法从 MATLAB 接收数据。
我在 Wireshark 中注意到、Launchpad 生成的随机端口号与代码中为其选择的端口号不同、当我在 MATLAB 的写入函数内写入该端口时、它可以正常工作、并且可以正常工作
LaunchPad 可以从 MATLAB 接收数据、这意味着在作为客户端工作时、自动为 Launchpad 生成端口号中有一些内容、我的问题是如何强制 Launchpad 通过端口号接收数据
它在我的代码中为它指定了什么?
Int16_t 状态; 非时钟使能= 1; 端口号= 5001; SL_Task (NULL); if (get_status_bit (Status、status_bit_connection)) { if (!SocketOped) { //打开 UDP 套接字 clientfd= sl_Socket (sl_AF_iNet、sl_sock_DGRAM、0); if (0 > PacketSocket) { UART_PRINT ("创建套接字时出错); } //将套接字的设置设置为非阻塞套接字 return= sl_SetSockOpt (PacketSocket、sl_SOL_Socket、sl_SO_NONBLOCKING、(_u8*)& BlockingOption、sizeof (BlockingOption)); if (return < 0) { UART_PRINT (将 UDP 服务器套接字启动到非阻塞套接字时出现错误)\n\n"\} SockSettings.Sin_Family = SL_AF_iNet; SockSettings.Sin_port = sl_Htons (PortNumber);//5001 SockSettings.sin_addr.s_addr = sl_Htonl (SocketServerIpAddr); //循环,直到客户端成功连接到服务器 UDP 套接字 状态= SL_ERROR_BSD_EALREADY; while (0 >状态) { SL_Task (空); status= sl_Connect (clientfd、(SlSockAddr_t *)和 SockSettings、sizeof (SlSockAddrIn_t)<0); 如果 (状态< 0) { UART_PRINT ("连接到服务器 UDP 套接字时出错");} } } TX = sl_Sendto (clientfd、buff、buffLen、0、(SlSockAddr_t *)和 SockSettings、 len); RX = sl_Recvfrom (clientfd、buff、buffLen、0、(SlSockAddr_t *)和 SockSettings、 (SlSocklen_t *)&len);