저는 자바에서 고성능 서버를 만들고 싶을 때 일반 소켓 대신에 nio를 사용한다는 것을 알고 있습니다. 고성능 서버를 만들려면 C#과 같은 것이 있습니까?C# ==> 고성능 서버?
답변
예, SocketAsyncEventArgs
:
SocketAsyncEventArgs
클래스는 전문 고성능 소켓 에서 사용할 수있는 대체 비동기 패턴을 제공System.Net.Sockets.Socket
클래스의 개선 사항의 일부 입니다 응용 프로그램. 이 클래스는 높은 성능이 필요한 서버 응용 프로그램 인 네트워크 용으로 특별히 설계된 입니다. 응용 프로그램에서는 향상된 비동기 패턴 만 사용하거나 대상이되는 영역 (예 : 많은 양의 데이터를 수령 한 경우)에서만 사용할 수 있습니다.
음, 이건 잘못된 것은 아니지만, 실제로'Socket'에 대한 특정 종류의 비동기 호출을위한 이벤트 유형일 때, 보통'Socket' 대신에 * 사용되는 특수 클래스 인 것처럼 들립니다. . –
SocketAsyncEventArgs를 사용한 프로그래밍은 확실히 '특정 종류의 비동기 호출에 대한 이벤트'가 아닙니다. 프로젝트를 시작할 때 동기화 호출 사용, 클래식 비동기 (beginend/callback/endsend) 사용 또는 SocketAsyncEvent 사용을 선택해야합니다. 버전 3.5의 소켓 성능 향상 참조 http://msdn.microsoft.com/en-us/library/bb968780.aspx –
일반 소켓을 사용하는 방법에는 여러 가지가 있습니다. 일반적으로 비동기 사용이 확장됩니다.
비동기 소켓을 사용할 수 있습니다. 그 중 하나가 충분하지 않은 경우 항상 HPC SDK의 일부인 Network Direct SPI
을 확인할 수 있습니다. Network Direct에는 하드웨어 별 공급자가 필요하다는 점에 유의하십시오.
+1 네트워크 직접 관리 API가 없습니다. –
이것은 흥미로운 것처럼 보이지만, 하드웨어 별 요구 사항은 훌륭한 아이디어인지 궁금합니다. 흥미롭지 만 어쩌면 현명하지 못한 옵션은 P/Invoke를 사용하는 것입니다. –
감사합니다. 비동기가 아닙니다. 5k 클라이언트가 서버에 연결되어 있고 연결되어 있고 서버와 통신하고 있습니다. 네트워크 직접 SPI를 살펴 보겠습니다. 감사합니다. – aryaxt
SocketAsyncEventArgs는 Windows I/O 완료 포트를 사용하므로 처리 속도가 빠릅니다. 비동기식으로 확장 가능합니다. SocketAsyncEventArgs의 큰 이점은 I/O 완료 포트입니다.
SocketAsyncEventArgs를 사용하는 방법은 http://www.codeproject.com/KB/cs/socketasynceventargs.aspx을 참조하십시오.
- 1. 고성능 서버 - 무엇을 사용해야합니까?
- 2. 는 SQL 서버 고성능 삽입
- 3. 고성능 서버 응용 프로그램을 만드는 라이브러리
- 4. Java 고성능 서버 작성에 대한 지침
- 5. 고성능 사이트
- 6. C++의 고성능 컴퓨팅 리소스
- 7. 고성능 C/C++ 해시 맵 (테이블, 사전)
- 8. 고성능 MySQL
- 9. 고성능 wcf
- 10. 고성능 BPEL 엔진?
- 11. 고성능 인 - 브라우저 네트워킹
- 12. (C#) 고성능 중복 체크를 구현하는 방법은 무엇입니까?
- 13. 고성능 서비스를 제공하는 C++ 응용 프로그램
- 14. C++에서 고성능 XML 구문 분석
- 15. 고성능 ASP.NET 설정
- 16. 고성능 코드를 위해 C# 및 C++ interop을 사용할 수 있습니까?
- 17. wpf 2d 고성능 그래픽
- 18. 고성능 쿼리 - 제안하십시오 제발
- 19. 고성능 위키 스키마
- 20. 고성능 데이터베이스 업데이트 (오라클)
- 21. 고성능 데이터베이스 의견
- 22. 고성능 컴퓨팅 시스템 구축
- 23. 고성능 하이버 네이트 삽입
- 24. 고성능 SQLite 옵션
- 25. .NET에서 고성능 로깅
- 26. 고성능 Ruby 목록 상자
- 27. 고성능 UDP 서비스 .NET
- 28. 고성능 타이머 대 StopWatch
- 29. 자바 파일 이동 고성능
- 30. C++에서 opensource 고성능 IPC와 유사한 msg bus 라이브러리가 있습니까?
나는 최근에 당신이 흥미를 가질 수 있음을 알았다 : http://developers.slashdot.org/story/10/07/27/1925209/Java-IO-Faster-Than-NIO – AaronLS
@AaronLS : 그것은 nio처럼 보입니다. .NET 소켓은 비동기 소켓 라이브러리이지만 .NET 소켓은 두 가지 방식으로 작동합니다. –
소켓 클래스는 언어에 관계없이 .NET에서 동일하므로 태그를 변경했습니다. –