![](https://img-blog.csdnimg.cn/20210419131847863.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
TCP Server
有关TCP Server的技术问题。
WIZnet 中国社区官方博客
WIZnet 官方技术交流社区
展开
-
W5500连接成功后,为什么一发送数据就会断开连接?
解决方案:有很多种可能性:与W5500建立连接的客户端或服务器检测到发送的数据为非法的就自行断开,建议先用网络调试助手确认发送数据是否为非法的。W5500供电电源未达到标准值,建议先检测供电电源是否正常。...原创 2021-06-25 16:02:19 · 2382 阅读 · 0 评论 -
W5500EVB作为TCP服务器
当W5500初始化完成后,程序进入主循环,此时读取该Socket的状态值,并选择进入哪种模式。当Socket处于关闭状态时,在进行通信之前,我们先将该Socket初始化。这个Socket作为服务器端,端口号要固定为要侦听的端口。 当socket将处于初始化完成状态即SOCK_INIT状态,此时,作为TCP服务器就要执行listen()函数来侦听端口。由于W5500内嵌了TCP/IP协议,连接过程是不需要单片机干预的。如果连接过程中出错造成超时,该Socket将会被关闭, 重新进入SOCK_CLOSE状态。待原创 2021-05-08 14:53:49 · 840 阅读 · 1 评论 -
在TCP模式下通过路由器连接,对方拔掉网线再插上后不能建立通讯怎么办?
解决方案:WIZnet芯片可以在发送过数据后,空闲既未发送也未接收达的情况,到一定时间(3秒,5秒,10秒自定义)后,发送SEND_KEEP命令,如对方正常就保持连接,如果对方在一定时间内未回应,则发出超时中断,自动关闭SOCKET端口,就可以自动重新连接,这样就能连接上了。但此命令只能用于TCP模式,如果是UDP模式下如果也想查看对方状态就需要从程序想办法了。...原创 2021-04-19 14:07:37 · 428 阅读 · 0 评论 -
WIZnet网络芯片TCP模式下的客户端与服务器有什么异同?
解决方案:客户端起启动连接(CONNECT)的作用,主动连接必须要知道连接目标,因此要正确设置SOCKET的目的(服务器)IP和目的(服务器)端口号。服务器则是侦听的作用(LISTEN),等待连接不需要设置目的IP 和目的端口号,客户端来连接时,服务器自然知道客户端的IP地址与端口号。...原创 2021-04-19 13:58:55 · 447 阅读 · 0 评论 -
W5500处于TCP_Server模式下,在交换机/路由器网络中无法ping通也无法通讯。
W5500处于TCP_Server模式下,在交换机/路由器网络中无法ping通也无法通讯。问题原因:WIZnet芯片是硬件协议栈芯片,有别于软件协议栈,如果芯片不主动往网络中发包,在TCP_Server模式下是不会有任何数据包发送的,这样会造成路由ARP表中无法形成IP和MAC设备的对应关系。解决方案:在芯片上电时往任意IP发送一个UDP数据包,从而更新路由的ARP表,形成匹配关系,后续通讯就正常了。...转载 2021-04-14 11:28:10 · 1237 阅读 · 0 评论 -
W5500作为TCP_Server,最多可以链接几个Client,应该如何操作?
解决方案:芯片作为TCP_Server,最多可以与8个客户端建立连接。不能初始一个Socket对应多个连接。可以将芯片的8个socket全部初始化,这样就可以与8个不同的TCP_Client建立通讯链接。转载 2021-04-14 11:42:38 · 2079 阅读 · 2 评论