1. 소켓 네트워크

네트워크 표준
C# Socket
더보기
| API / 클래스 | 설명 | 제공 기능 | OS/PL | |
| Unix | Socket API | 네트워크 표준 API | Low Level 의 소켓 프로그래밍 TCP, UDP 등 다양한 네트워크에 사용 |
Unix(+ Ubuntu, Redhat..) |
| Window | WinSock2 API | Socket API 윈도우 버전 | Window(C/C++) | |
| C# .NET |
Sockets | WinSock2 API C# 버전 | Sockets 닷넷은 WinSock2 API 호출 | Window(C#) |
| TcpClient | 내부적으로 Sockets 클래스 사용 |
TCP, UDP 전용 | ||
| TcpListner | ||||
| UdpClient |
WSA
Windows Socket API (Winsock)
1991년 시작된 윈도우 소켓 프로젝트는 버클리 유닉스 (BSD Unix) 소켓 인터페이스를 윈도우용으로 개조하여 거의 모든 특징을 포괄한다.
하지만 윈속의 사용방법과 문법이 BSD 소켓의 경우와 유사하기는 하더라도 윈속과 BSD 소켓용으로 작성된 프로그램은 서로 호환성이 없으며 이 두 가지 소켓 응용 프로그램이 호환성을 갖으려면 많은 부분을 수정하여야 한다.
유닉스 Socket API C언어 소켓 로직과 윈도우 WinSock2 API C언어 소켓 로직은 호환되지 않으므로, 별도로 구현하여 호환성 작업야 한다.
초기 윈속(WinSock 1.1 )은 winsock.dll 의 형태로 설치되어 사용하였고, Windows 95에서 OS의 일부로 추가되었으며, 현재는 윈속2(WinSock 2.x)를 사용하고 있다.
일반적으로 C/C++ 프로그램에서 WinSock API를 사용한다.
C# .NET 네트워크 클래스 .NET Framework은 WinSock API 를 사용하기 위해 Wrapper 클래스들을 제공한다.
핵심 클래스로 System.Net.Sockets 네임스페이스의 TcpClient, TcpListner, UdpClient, Socket 클래스들이 있다.
소켓 통신 실행 흐름
비동기 소켓 통신 실행 흐름
