学前班
最后登录1970-1-1
在线时间 小时
注册时间2017-7-1
|
请教一下,利用W5500做了一个采集模块作为客户端,需要对外网服务器通讯。
目前模块接的路由器,可以连接局域网内的电脑进行通讯。
在电脑上用TCP&UDP测试工具可以连上外网IP跟指定端口,但是模块怎么也连接不成功,是什么原因?
- <div>static int do_http(void)
- {
- int receive_length;
- unsigned char receive_buffer[1024];
- unsigned char ip_adr[4] ={123,132,234,182};
- unsigned short int local_port;</div><div> switch(getSn_SR(0)) //获取socket0的状态
- {
- case SOCK_INIT: //socket初始化完成
- connect(0,ip_adr,9800);
- break;
- case SOCK_ESTABLISHED: //socket建立连接
- if(getSn_IR(0) & Sn_IR_CON)
- {
- setSn_IR(0, Sn_IR_CON);
- }
- receive_length = getSn_RX_RSR(0);
- break;
- case SOCK_CLOSE_WAIT: //等待关闭
- disconnect(0);
- break;
- case SOCK_CLOSED: //关闭
- local_port = rand() % 10000 + 50000;
- socket(0,Sn_MR_TCP,local_port,Sn_MR_ND);//打开1个端口
- break;
- }
- }</div><div>
- </div>
复制代码
|
-
tcp_client
|