c# socket 예제

메시지를 보내려면 클라이언트는 «  »을 추가하여 메시지의 끝을 표시하고 서버가 그랬던 것처럼 문자 메시지를 이진 형식으로 변환해야 합니다. 그런 다음 소켓은 이진 메시지를 매개 변수로 사용하는 Send 메서드를 호출하여 메시지를 보냅니다. 여기서는 생성된 IpEndPoint가 클라이언트를 식별하는 데 사용되지 않는다는 점에 유의해야 합니다. 그러나 서버 소켓을 식별하는 데 사용됩니다. 소켓에 주소가 있어야 합니다. 그것은 유형 IpEndPoint입니다. 각 소켓은 IP 주소를 통해 식별되며, 호스트의 컴퓨터를 찾는 데 유용하며 컴퓨터 내부의 소켓을 사용하는 프로그램을 식별하는 포트 번호도 있습니다. 서버와 클라이언트 간에 연결이 설정되면 자체 소켓을 통해 통신(읽기 또는 쓰기)할 수 있습니다. 서버는 시도를 수락하기 위해 비동기 작업을 시작합니다. 소켓의 강력한 기능 중 하나는 비동기 프로그래밍 모델의 사용입니다. 그 덕분에 소켓이 작업을 수행하는 동안 프로그램이 계속 실행될 수 있습니다. C# 서버 소켓 프로그램: 컴퓨터에서 실행 중인 C# 서버 소켓 프로그램에는 동일한 컴퓨터의 포트 번호에 바인딩되어 클라이언트의 수신 요청을 수신하는 소켓이 있습니다.

소켓은 네트워크를 사용하여 데이터를 전송하므로 프로토콜을 사용합니다. 이 컨텍스트에서 가장 잘 알려진 것은 빠르지만 신뢰할 수 없는 UDP와 신뢰할 수 있지만 빠르지는 않은 TCP입니다. 메시지를 보낼 때 안정성을 권장합니다. 이것이 바로 TCP를 사용하는 이유입니다. 생성된 소켓이 IpEndPoint 및 프로토콜 유형을 설정할 수 있도록 하는 클릭 이벤트를 만들어 보겠습니다. 여기에 사용할 샘플이며 프로젝트에 쉽게 통합 할 수있는 응용 프로그램을 제공했습니다. 따라서 소켓의 기능을 활용하여 보다 풍부하고 강력한 소프트웨어를 빌드할 수 있습니다. 클라이언트의 메시지를 받은 후 서버가 회신할 수 있습니다. 그러나 소켓은 바이트만 조작하기 때문에 str의 문자열 메시지를 바이트 데이터로 변환해야 합니다.

그러나 그 전에는 닫힌 포트 번호를 사용하기 때문에 소켓이 작동할 수 있는 권한이 필요합니다. 데이터 전송을 허용하는 까다로운 권한이 표시되는 창이 나타납니다. 소켓을 사용할 준비가 되도록 선택한 포트 번호(4510)에서 청취를 시작해 보겠습니다. 다른 포트 번호를 선택할 수 있습니다. 그러나 클라이언트는 이에 대해 알고 있어야 합니다. 듣기는이 버튼의 이벤트를 통해 처리됩니다 : 소켓은 요즘 점점 더 많이 사용되고 있습니다. 네트워크를 통해 데이터를 교환하는 간단한 방법을 제공합니다. 예를 들어 사용자 간에 메시지를 교환하는 데 사용됩니다.

파일을 전송하고 « 분산 » 게임을 플레이하고 여러 프로그램을 전달하기 위해 더 많은 것을 할 수 있습니다. 강력한 기능 덕분에 소켓은 개발자를 위한 기술을 배워야 합니다. 수신 대기 상태에 소켓을 배치하고 연결할 수 있는 클라이언트 소켓 수를 지정합니다: 이제 서버는 연결된 소켓에 비동기적으로 데이터를 전송합니다: 같은 방식으로 클라이언트가 연결할 수 있도록 서버를 식별하는 `IP 주소`가 필요합니다. 소켓을 만든 후 IP를 소켓에 바인딩하는 `bind` 메서드를 호출합니다. 그런 다음 `listen` 메서드를 호출합니다. 이 작업은 열린 모든 `소켓`과 관련된 대기 큐를 만드는 작업을 담당합니다. `listen` 메서드는 대기 대기열에 머물 수 있는 클라이언트의 최대 수를 입력으로 사용합니다. 위에서 설명한 대로 `보내기` 및 `수신` 메서드를 통해 클라이언트와 통신이 있습니다. 클라이언트의 소켓을 만들기 전에 사용자는 연결하려는 `IP 주소`를 결정해야 합니다. 동시에 소켓 자체에 속하는 `패밀리` 메서드도 필요합니다. 그런 다음 `연결` 방법을 통해 소켓을 서버에 연결합니다. 메시지를 보내기 전에 바이트 배열로 변환해야 합니다.

그런 다음에야 `보내기` 방법을 통해 서버로 보낼 수 있습니다. 나중에 `수신` 메서드 덕분에 서버에서 대답으로 바이트 배열을 얻을 수 있습니다.