[W5500] TCP 서버 상태 체크 문의
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: [W5500] TCP 서버 상태 체크 문의
by becky ·
안녕하세요
PING의 경우 ICMP 메세지로 TCP 또는 UDP 모드에서 전송이 가능한 메세지가 아닙니다. W5500에서는 IPRAW 모드로 socket을 open하여 전송이 가능합니다.
또한 TCP의 경우 1:1 통신으로 CLIENT와 접속이 되었을때만 해당 CLIENT와 통신이 가능합니다.
따라서 TCP SERVER로는 LISTEN상태가 아니더라도 PING을 전송할 수 없으며, ESTABLISHED 상태가 되었을때만 연결된 CLIENT로 데이터를 전송할 수 있습니다.
SOCKET을 IPRAW로 하나 더 오픈하셔서 PING을 전송하셔야 합니댜.
다른 SOCKET을 통해 PING을 전송하더라도 W5500의 네트워크 상태가 확인되는 것이므로 TCP SERVER SOCKET의 네트워크 상태 또한 정상이라고 보셔도 됩니다.
RE: RE: [W5500] TCP 서버 상태 체크 문의
by simsim ·
아… 그렇군요…
말씀하신 방법으로 처리하여 진행해보겠습니다.
도움 감사합니다…
RE: RE: [W5500] TCP 서버 상태 체크 문의
by simsim ·
한가지 더 여쭤봅니다…
TCP SERVER로 LISTEN 상태에서 네트워크 정상 판단은 SOCKET을 IPRAW로 하나 더 오픈해서 PING 보내는 방법 외에는 없는것인가요??
LISTEN 상태에서 LAN 케이블을 제거해도 상태는 계속 LISTEN 상태로 나와서요…
아마 PHY LINK 부분 체크하면 위에 내용은 해결될듯한데…
실제 네트워크가 정상인지까지 확인하려면 하나 더 열어서 connect을 해보거나 아니면 PING 날리는 것 외에는 방법이 없는지해서 문의 드려봐요…
RE: [W5500] TCP 서버 상태 체크 문의
by becky ·
안녕하세요
W5500의 PHYCFGR 레지스터의 0번 bit를 확인하시면 LINK를 확인할 수 있습니다.
아니면 PING을 PC에서 W5500으로 전송하여 응답을 확인하는 방법도 있습니다.
W5500에서는 별도의 Socket을 open하지않아도 PING을 수신하면 자동으로 Reply를 전송합니다.
RE: [W5500] TCP 서버 상태 체크 문의
by irina WIZnet ·
→ 먼저, Server의 경우 Socket open → Listen → send or receive data-> close의 동작을 하게 되어있습니다.
Listen 상태라는 것은 네트워크 연결과는 상관없이 저의 칩의 Client를 받을 준비가 되었다는걸 의미합니다.
만일 Listen상태에서 케이블을 제거했을 경우 Socket Close의 상태로 가기를 원하신다면,
위에 Becky가 말한것과 같이 아래의 register에서 Link을 확인하신 후 Sn_CR를 이용하여 Socket Close를 하시면 됩니다.
→ 단순히 LAN연결이라면W5500의 PHYCFG Register을 확인하시면되고,
PC<-> W5500 간의 정상적인 Network을 원하시는 거라면 W5500에 IP/MAC/Gateway/subnet mask를 올바르게 입력하신후 PC에서 Ping request를 W5500의 IP로 보내면 됩니다.
RE: [W5500] TCP 서버 상태 체크 문의
by jameskim ·
네트워크가 정상이라는 판단은 간단한 문제는 아닙니다.
다만 PHY LINK는 스위치와의 물리적 연결이 되어 있는 경우에는 정상으로 판단이 됩니다.
연결을 이루고자 하는 장치가 살아있는 지를 보려면 PING을 날리는 방법과 임의의 데이터를 보내는 방법이 있습니다.
PING request는 IPRAW 모드를 사용해야하니 UDP 소켓을 열어서 특정 IP를 지정해서 임의의 데이터를 sendto()해보세요.
sendto()전에 ARP request를 보내는 데, 수신 장치가 같은 로컬 네트워크내의 장치라면 ARP reply를 보낼 것이고 해당 장치가 통신 불가 상태라면 ARP request에 대한 Timeout이 발생할 것입니다.