2010-03-17 3 views
1

방금 ​​problem with sockets in c#에 응답했습니다. 내 예제 코드에서는 ProtocolType.IP을 사용하여 소켓을 초기화했는데, 이것은 항상 내 자신의 코드에서 사용한 것과 같습니다. 내가 문제를 일으켰다. 그러나 ProtocolType.Tcp을 지정하는 예제가 많이 있습니다.ProtocolType.IP와 ProtocolType.Tcp를 사용하는 것의 차이점

ProtocolType.Tcp 대신 ProtocolType.IP을 사용하면 내가 알아야 할 두포에서 다르게 수행되는 것 같습니다.

답변

1

도움이되기를 바랍니다 이다, 즉 그것은 바로 위에 원시 바이트를 분출한다 네트워크를 TCP 또는 UDP 프로토콜 계층을 거치지 않고 IP 패킷으로 변환 할 수 있습니다.

TCP와는 달리 보장 된 패킷 전달을 보장하지 못하고 패킷 도착이 잘못되거나 패킷이 복제 될 수 있습니다. TCP는이 모든 것을 프로토콜의 일부로 처리합니다.

거의 모든 목적을 위해 자신의 전송 프로토콜을 작성하는 저급 네트워킹 구성을하지 않는 한 ProtocolType.Tcp 또는 ProtocolType.Udp을 사용해야합니다.

+1

실제로 소켓 유형으로 스트림을 사용하지 않은 경우 사실입니다. 스트림 소켓에는 TCP가 필요하므로 IP와 스트림은 항상 TCP/IP입니다. 적어도 WinSock2 문서에 대한 나의 이해에 따르면. 그러나 스트림 행동 이외의 다른 것을 사용했다면 다른 것이 었거나 나쁜 조합으로 인해 넘어 질 것입니다. – Sekhat

0

확인이 링크 : http://www.allinterview.com/showanswers/1447.html

TCP/IP는 프로토콜 제품군입니다 그것은 는 TCP와 IP에 관련된 프로토콜의 조합을 의미합니다. TCP는 전송 계층 프로토콜이고 IP는 네트워크 계층 프로토콜 인 입니다. TCP는 연결 지향 프로토콜로 IP가 연결 덜 프로토콜

는 내가 ProtocolType.IP는 "raw IP"소켓을 여는 거라 생각

관련 문제