|
使用tcp modbus来传输,在写入ip mask 网关之后,可以ping通,但是无法连接上tcp,端口好像没打开,请问这个是哪里出问题了,用的库函数做的连接
static void modbustcp_thread(void *param)
{
modbus_mapping_t *mb_mapping = NULL;
for (int i = 0; i < MAX_CLIENT_NUM; i++)
{
client_session[i].fd = -1;
client_session[i].tick_timeout = rt_tick_get() + rt_tick_from_millisecond(CLIENT_TIMEOUT * 1000);
}
int max_fd = -1;
fd_set readset;
int rc;
struct timeval select_timeout;
select_timeout.tv_sec = 1;
select_timeout.tv_usec = 0;
ctx = modbus_new_tcp(RT_NULL, 1501, AF_INET);
RT_ASSERT(ctx != RT_NULL);
mb_mapping = modbus_mapping_new(0, 0, 64*16, 0);
RT_ASSERT(mb_mapping != RT_NULL);
mb_mapping->tab_registers = tcpData.ComBufInt;
|
|