슈퍼소켓 예제

이 예제는 “Key”를 사용하지 않고 전송된 전체 메시지를 얻기 위해 “CustomStringParser” 클래스를 만들었습니다. 케리 장: 네, HTTP가 더 인기가 있습니다. 경우에 따라 사용자가 원시 소켓 대신 HTTP를 직접 사용하도록 제안하기도 합니다. 그러나 다른 경우에는 HTTP가 작동하지 않습니다. 예를 들어 서버는 일부 메시지를 클라이언트에 적극적으로 푸시하려고 합니다. HTTP는 이중 실시간 통신을 위해 설계되지 않았지만 원시 소켓을 사용하면 실시간으로 지원할 수 있는 고유한 프로토콜을 설계할 수 있습니다. HTTP는 일부 사용 사례에 대해서도 약간 무겁습니다. 요즘, 사물의 인터넷은 매우 빠르게 발전하고 있습니다. 일부 장치는 전력 및 네트워크 사용량을 낮추기 위해 몇 바이트를 보내려고 합니다. HTTP의 헤더와 텍스트 인코딩은 더 많은 리소스를 소비하므로 이 요구 사항을 충족할 수 없습니다.

이것은 작품의 꽤 인상적인 조각처럼 보인다! 나는 그것을 사용하여 다른 origodb 서버 구현을 스파이크거야 케리 장 : 분명히, 리눅스 + 모노는 낮은 비용을 가지고 있으며 순수 .NET 응용 프로그램에 대한 모노 / 리눅스를 지원하는 것은 매우 쉽습니다. .NET 4.5와 같은 일부 고급 .NET 버전은 Windows Server 2008 r2가 필요하며 일반 사용자에게는 비용이 많이 듭니다. 그러나 리눅스에서, 당신은 그것을 지원하기 위해 모노의 최신 버전을 설치할 수 있습니다. 동시에 요청 처리기와 명령이 함께 작동 할 수 없기 때문에 정의 된 reqauest 처리기를 제거해야합니다 . 프로그램. 케리 장의 슈퍼 소켓과 같은 오픈 소스 프로젝트가 시작됩니다. SuperSocket.ClientEngine은 프로토콜 분석을 단순화하는 데 도움이 되는 몇 가지 강력한 기본 ReceiveFilter 클래스(네임스페이스 “SuperSocket.ProtoBase”)를 제공합니다. SuperSocket은 네트워크 프로토콜에 대해 열려 있습니다. 아마 자바 세계에서 미나와 네티와 비슷합니다.

예를 들어 요청정보의 키가 “ADD”와 같음으로 요청을 처리하기 위해 “ADD”라는 클래스를 정의할 수 있습니다. 종종 그들은 종종 다른 회사에 의해 호스팅 되는 일부 모호한 서비스와 통신 해야 하기 때문에 그것을 선택 해야 합니다. 그들의 이익을 위해 수신 버퍼에 부분 메시지 또는 여러 메시지를 가지고 한다는 것이 무엇을 의미하는지 설명 할 수 있습니까? 일반적으로 런타임 검색 또는 조건부 컴파일 기호로 쉽게 해결할 수 있습니다. . . 3,600만 명 이상의 개발자가 GitHub를 함께 사용하여 1억 개 이상의 프로젝트에서 코드를 호스팅 및 검토하고, 프로젝트 관리를 관리하고, 소프트웨어를 구축합니다. 또한 다음과 같은 AppServer 클래스의 다른 메서드를 재정의할 수 있습니다. Kerry Jiang: TCP는 스트림 기본 프로토콜이며, 전송된 이진 데이터는 전송 계층에 경계가 없습니다. 반면에 네트워크의 모든 라우터, 스위치, 발신자 및 수신기는 버퍼 크기가 다릅니다.

따라서 동일한 청크 크기로 데이터를 전달할 수 없습니다. TCP를 통해 한 청크로 100k 데이터를 다른 쪽 끝으로 보내는 경우 다른 끝점은 많은 청크에서 이 100k 데이터를 수신할 수 있습니다. 동일한 규칙에서 많은 청크로 100k 데이터를 보내는 경우 다른 끝점은 한 청크로 모든 데이터를 수신할 수 있습니다. 이것이 바로 수신 버퍼의 한 조각에 부분 메시지 또는 여러 메시지가 있는 이유입니다. 또한 각 메시지의 경계를 정의하기 위해 TCP를 통해 응용 프로그램 수준 전송 프로토콜이 필요한 이유이기도 합니다.