2010-06-10 6 views
16

나는 C# 내에서 웹 애플리케이션을 사용하는 콘솔 애플리케이션을 사용하여 WebSocket을 사용할 수 있지만, C# 웹 애플리케이션에서 요청을 사용하여 WebSocket을 작성할 수 있는지 궁금해한다.C# 웹 응용 프로그램에서 WebSocket 사용?

나는 ASP.Net을 통해보고 있었고, C#을 똑바로 사용하고 내 자신의 HTTP 서버를 만든 다음 동일한 소켓 개체를 사용하여 웹 소켓을 생성하지 않으면 가능하지 않을 것이라고 생각하기 시작했습니다. Node.js 및 Socket.IO 작업).

여러 서버/프로젝트없이 C# 웹 응용 프로그램에 WebSocket을 포함시키는 방법에 대한 의견이 있으십니까?

+0

콘솔 응용 프로그램에서 WebSocket을 사용하는 방법에 대한 링크를 제공 할 수 있습니까? 나는 .NET이 웹 소켓을 전혀 지원하지 않는다고 생각했다. –

+0

부부를 찾았습니다. http://nugget.codeplex.com/ http://www.extjs.com/forum/showthread.php?99842-WebSocket-server-in-C http : // www .codeproject.com/KB/webservices/c_sharp_web_socket_server.aspx 이들은 모두 Mono 또는 .Net과 함께 작동합니다. – sixones

+0

@ John Saunders, 수행해야 할 모든 작업이 .NET BCL에 작성되지는 않습니다. 어떤 것들은 .NET이 이미 제공하는 것의 위에 구현되어야합니다. –

답변

11

ASP.NET 컨텍스트 내에서 WebSockets 서버를 호스팅 할 수 있습니다. 그러나 ASP.NET 응용 프로그램을 다시 시작할 수 있다는 것을 알고 있어야합니다. 즉, 서버가 종료되고 ASP.NET 응용 프로그램과 함께 다시 설정해야합니다.

별도의 Windows 서비스에서 WebSockets 응용 프로그램을 호스팅하면 소켓 서버의 안정성이 향상되지만 ASP.NET 응용 프로그램과 Windows 서비스간에 데이터를 공유하려면 IPC가 필요합니다.

그래서 논의 할 절충점이 있습니다. 그것은 클라이언트 코드가 연결 손실 및 재구성에 얼마나 민감한 지에 달려 있습니다. 이것이 충분히 처리된다면 ASP.NET 내에서 호스팅하는 것이 좋습니다.

WebSocket은 HTML이 처음이지만 Flash 및 Java 애플릿을 사용하여 수년 동안 개념이 존재했음을 유의하십시오. 특히 플래시는 온라인 게임 및 웹 기반 채팅에 일반적으로 사용됩니다.

+0

고마워, 나는 그럴 것이라고 생각했다. 나는 ASP.Net에서 웹 애플리케이션 프로젝트를 사용하고 C#의 WebSocket 서버와 모든 서버 프로젝트에 액세스 할 수있는 C# 라이브러리 (모든 모델 포함)를 사용해야한다고 생각했다. 에. 임 프로젝트는 2 개의 프로토콜이 서로 다른 데이터 경로를 처리 할 때 실제로 2 개의 서버 프로젝트간에 데이터를 공유 할 필요가 없습니다. 그러나 1 프로젝트에 모든 것을 포함하는 것이 훨씬 좋을 것입니다! ASP.Net에서 WebSocket을 사용하는 것에 대한 예제 나 다른 것에 대한 링크가 있습니까? – sixones

+1

@sixones, Windows 서비스 대신 ASP.NET에서 호스팅 될 때 실제 구현에는 차이가 없습니다. 서비스 OnStart' 호출 대신 응용 프로그램 초기화 이벤트에서 초기화하십시오. –

3

.net client implementationsKaazing에서 확인하십시오. 이 클라이언트를 사용하면 모든 웹 소켓 서버에 연결할 수 있습니다.

+0

클라이언트 구현이 아닌 서버에 대해 궁금합니다. 감사합니다. – sixones

3

PokeIn 2.0가 웹 소켓 기능을 내장하고 작동하는 특별한 환경을 필요로하지 않습니다. here

관련 문제