硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6391|回复: 3
收起左侧

[有问必答] 关于win8.1 TCP通信问题

[复制链接]

1

主题

2

回帖

1

积分

新手上路

积分
1
发表于 2015-4-22 22:54:30 | 显示全部楼层 |阅读模式
疑问:
win8.1系统,作为TCP server端,通过路由器能跟其他嵌入式设备进行TCP/IP的正常通信,跟设备直连却不行;而win7直连却可以,这是什么导致的?


具体描述如下
一:环境

使用keil MDK 5.14自带的RL-RTX 和 TCP/IP协议栈(经过很多版本已经很成熟了),将官方例程直接移植到stm32f407


二:现象
使用TCP&UDP测试工具,笔记本PC与开发板连接
1、当开发板作为server,PC作为client时,两边可通过TCP协议正常发送/接收数据;
2、当开发板作为client,PC作为server时,若接上路由器,则两边可正常通信;
3、当开发板作为client,PC作为server时,若与PC直连,相同配置下,client端(开发板程序)一直无法connect到服务器(第一次握手就失败,即没收到ack),但能ping通


当换了别人的win7笔记本,结果上述现象3 不存在了,即直连情况下也能通信了
想请教下这里路由器到底起到了什么作用? 该怎么对IP等进行配置或修复TCP/IP协议呢
(使用的是华三的路由器,该关闭的绝大多数功能都关闭了,只剩下无法关闭路由功能)


所设置的IP信息如下
PC端:
192.168.1.5  255.255.255.0 192.168.1.1
开发板端:
192.168.1.2 255.255.255.0  192.168.1.1


接路由器握手成功时wireshark信息如下 :
1    0.000000000    1e:30:6c:a2:45:5c    Broadcast    ARP    60    Who has 192.168.1.5?  Tell 192.168.1.2
2    0.000064000    LcfcHefe_b0:89:29    1e:30:6c:a2:45:5c    ARP    42    192.168.1.5 is at 68:f7:28:b0:89:29
3    1.999917000    192.168.1.2    192.168.1.5    TCP    60    1024→63330 [SYN] Seq=0 Win=4380 Len=0 MSS=1460
4    2.000138000    192.168.1.5    192.168.1.2    TCP    58    63330→1024 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460
5    2.000423000    192.168.1.2    192.168.1.5    TCP    60    1024→63330 [ACK] Seq=1 Ack=1 Win=4380 Len=0
直连时握手不成功wireshark部分信息如下:
(询问192.168.1.1时,无人回应;而将网关改成开发板的IP后,能收到回应,但仍然无法通信)
1    0.000000000    LcfcHefe_b0:89:29    Broadcast    ARP    42    Who has 192.168.1.1?  Tell 192.168.1.5
2    0.028180000    fe80::f4f5:ba4c:ea36:d80e    ff02::1:2    DHCPv6    151    Solicit XID: 0x581c6a CID: 000100011ca6a99b68f728b08929
3    0.055268000    fe80::f4f5:ba4c:ea36:d80e    ff02::1:3    LLMNR    86    Standard query 0xad3a  A isatap
4    0.055494000    192.168.1.5    224.0.0.252    LLMNR    66    Standard query 0xad3a  A isatap
........
67    3.536404000    192.168.1.3    192.168.1.5    TCP    60    1024→63330 [SYN] Seq=0 Win=4380 Len=0 MSS=1460
......
78    3.642100000    fe80::f4f5:ba4c:ea36:d80e    ff02::16    ICMPv6    90    Multicast Listener Report Message v2
......
94    5.536339000    192.168.1.3    192.168.1.5    TCP    60    [TCP Retransmission] 1024→63330 [SYN] Seq=0 Win=4380 Len=0 MSS=14601460

信任,支撑着你我。
回复

使用道具 举报

1

主题

2

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2015-4-22 22:56:46 | 显示全部楼层
唉  其实我是安富莱老用户了,之前的账号好久没用,账号密码都忘了,今天又以新人面目出现了
信任,支撑着你我。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2015-4-23 09:02:38 | 显示全部楼层
楼主的问题描述的很清楚,很少有问问题的发帖这么进行描述,可惜就是我不怎么懂网络。
回复

使用道具 举报

1

主题

2

回帖

1

积分

新手上路

积分
1
 楼主| 发表于 2015-4-23 09:59:57 | 显示全部楼层

回 eric2013 的帖子

eric2013:楼主的问题描述的很清楚,很少有问问题的发帖这么进行描述,可惜就是我不怎么懂网络。 (2015-04-23 09:02)
平时养成习惯了, 这个问题比较纠结,因为以后会一直在win8.1上开发,想找出是什么原因导致的。不知有哪位做过TCP/IP通信的兄弟能帮忙看下  万分感谢!
信任,支撑着你我。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 15:42 , Processed in 0.044095 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表