c# 소켓 통신 예제

c# 소켓 통신 예제

.NET 응용 프로그램에서 소켓을 사용하려면 다음 문을 추가해야 합니다. 마찬가지로 클라이언트가 연결할 수 있도록 서버를 식별하는 `IP 주소`가 필요합니다. 소켓을 만든 후 IP를 소켓에 바인딩하는 `bind` 메서드를 호출합니다. 그런 다음 `listen` 메서드를 호출합니다. 이 작업은 열린 모든 `소켓`과 관련된 대기 큐를 만드는 작업을 담당합니다. `listen` 메서드는 대기 대기열에 머물 수 있는 클라이언트의 최대 수를 입력으로 사용합니다. 위에서 설명한 대로 `보내기` 및 `수신` 메서드를 통해 클라이언트와 통신이 있습니다. 이제 우리는 IPEndPoint와 우리의 소켓을 연결합니다 : /// Winsock ioctl 코드는 ICMP 오류가 UDP 소켓에 전파되는 것을 비활성화합니다. 이 UDP 소켓에 대해 SIO_UDP_CONNRESET ioctl을 true로 설정합니다. 이 UDP 소켓 소켓 클라이언트/서버 아키텍처를 기반으로 하는 경우 이 응용 프로그램은 서버와 클라이언트로 구성됩니다. 서버는 포트 번호를 예약합니다. 그런 다음 다가오는 클라이언트를 듣습니다. 그러면 클라이언트가 서버에 연결하려고 시도합니다.

연결이 성공하면 문자 메시지를 교환할 수 있습니다. 작업이 완료되면 연결이 닫힙됩니다. 소켓 프로그래밍은 네트워크에서 두 노드를 연결하여 서로 통신하는 방법입니다. 기본적으로 클라이언트가 연결하고 서버에 메시지를 보내고 서버가 소켓 연결을 사용하여 표시하는 단방향 클라이언트 및 서버 설정입니다. 한 소켓(노드)은 IP에서 특정 포트에서 수신을 수신하는 반면 다른 소켓은 다른 소켓에 연결하여 연결됩니다. 클라이언트가 서버에 도달하는 동안 서버는 수신기 소켓을 형성합니다. 서버 및 클라이언트 코드를 자세히 보기 전에 TCP/IP 모델을 자세히 살펴보고하는 것이 좋습니다. 여기서는 생성된 IpEndPoint가 클라이언트를 식별하는 데 사용되지 않는다는 점에 유의해야 합니다.

그러나 서버 소켓을 식별하는 데 사용됩니다. 소켓액세스 제한에 대한 소켓권한을 만들고 일치하는 IpEndPoint가 있는 소켓을 만든 후 원격 서버 호스트에 대한 연결을 설정해야 합니다. TCP의 경우 수신 소켓을 만들고 클라이언트 소켓이 요즘 점점 더 많이 사용되고 있습니다. 네트워크를 통해 데이터를 교환하는 간단한 방법을 제공합니다. 예를 들어 사용자 간에 메시지를 교환하는 데 사용됩니다. 파일을 전송하고 “분산” 게임을 플레이하고 여러 프로그램을 전달하기 위해 더 많은 것을 할 수 있습니다. 강력한 기능 덕분에 소켓은 개발자를 위한 기술을 배워야 합니다. try/except에서 각 UDP 소켓 작업을 래핑하려면 이 오류를 사용하지 않도록 설정합니다. 소켓은 네트워크를 사용하여 데이터를 전송하므로 프로토콜을 사용합니다. 이 컨텍스트에서 가장 잘 알려진 것은 빠르지만 신뢰할 수 없는 UDP와 신뢰할 수 있지만 빠르지는 않은 TCP입니다.

메시지를 보낼 때 안정성을 권장합니다. 이것이 바로 TCP를 사용하는 이유입니다. 이 문서에서는 C#을 사용하여 .NET Framework에서 소켓 프로그래밍의 기본 을 배웁니다. 둘째, TCP 및 UDP 프로토콜을 사용하여 통신하는 서버와 클라이언트로 구성된 작은 응용 프로그램을 만듭니다. 메시지를 보내려면 클라이언트는 “”을 추가하여 메시지의 끝을 표시하고 서버가 그랬던 것처럼 문자 메시지를 이진 형식으로 변환해야 합니다. 그런 다음 소켓은 이진 메시지를 매개 변수로 사용하는 Send 메서드를 호출하여 메시지를 보냅니다. C # 소켓 프로그래밍에 대 한 통신 프로토콜 사용의 두 가지 유형이 있습니다., 그들은 TCP/IP (전송 제어 프로토콜/인터넷 프로토콜) 통신 및 UDP/IP (사용자 데이터그램 프로토콜/인터넷 프로토콜) 통신 .