2012-05-14 2 views
2

소켓 서버를 온라인으로 배포 할 때는 소켓 서버와 관련하여 다소 혼란 스럽습니다.C# 소켓 서버 - 배포, 시작, 중지

대부분의 자습서에서 실행할 수있는 서버 응용 프로그램과 클라이언트 응용 프로그램을 만들 수 있으므로 로컬에서 실행하면 문제가 없습니다. 모든 것을 잠시 완료했습니다. 이제는 만족 스럽지만 이제는 웹 호스트를 사용해 보겠습니다.

웹 호스트에 소켓 서버를 배포 한 다음 서버를 어떻게 실행합니까? 프로그램을 서버에 업로드하고 www.mywebpage.com/mysocketserver를 실행하십시오 (프로그램이 mysocketserver.exe라고 가정 할 때)

은 바보 같은 질문처럼 들릴 수 있지만, 나는 그 뇌사 상태에 빠졌습니다.

[편집] 대단히 감사합니다. 부끄러움을 대답으로 만 표시 할 수 있습니다.

답변

2

대부분의 호스팅 서비스는 웹 사이트와 관련이 있습니다. 웹 사이트를 서버에 업로드하면 호스트가 응용 프로그램 프로비저닝을 담당합니다.

그러나 웹 서버에서 제공하는 웹 사이트는 작성하지 않았지만 소켓 서버는 웹 사이트를 실행하는 웹 서버와 유사합니다.

Virtual Private Server 서비스와 같이 응용 프로그램을 설치 및 실행하고 physical server을 임대하거나 Amazon EC2과 같은 클라우드 서비스를 사용할 수있는 호스트가 필요합니다.

일반적으로 원격 데스크톱 또는 SSH를 임대하거나 임대하는 서버에 업로드하면 일반 응용 프로그램, 서비스 또는 데몬으로 응용 프로그램을 업로드하고 시작할 수 있습니다.

소켓 서버를 호스트 서버에 설치하고 응용 프로그램을 실행하면 서버의 IP 주소와 소켓 서버를 실행중인 포트를 사용하여 서비스에 연결할 수 있습니다.

예를 들어, 귀하의 IP 주소가 10.0.0 인 경우.1 포트 1234에서 수신 대기하도록 소켓 서버를 작성한 경우 10.0.0.1:1234 주소로 서비스에 문의 할 수 있습니다.

해당 포트에 대한 액세스를 허용하는 방화벽을 고려하십시오.

또한 DynDns과 같은 DNS 서비스를 사용하여 해당 IP 주소에 도메인 이름을 할당 할 수 있습니다.

+0

대단히 감사합니다. 나는 아마존 EC2에 대해 들어 본 적이 있으므로 다음 reaserch 장소라고 생각한다. – Gaz83

+0

당신을 진심으로 환영합니다. upvote 및 당신에게 가장 적합한 대답을 받아 들일 것을 잊지 마세요. – Kynth

+0

현재 웹 호스트는 가상 사설 서버를 월 $ 19.99 ($ ​​32.11)에 제공합니다. 그래서 나는 그 선택을 취할지도 모른다. – Gaz83

0

인터넷의 문제는 라우팅/이름 변환이므로 mywebpage가 올바른 IP 주소로 변환됩니다.
웹 서버에 고정 된 공용 IP 주소가 필요하거나 동적 IP 주소를 정적 이름에 동적으로 매핑하는 dynds와 같은 서비스를 사용해야합니다.

+0

오케이 이런 이유로 내 웹 서버의 IP 주소는 111.222.333.444입니다. 111.222.333.444/myscocketserver로 갈 것인가? – Gaz83

+0

웹 사이트가 아닌 소켓 서버 응용 프로그램을 작성했습니다. 111.222.333.444:1234에서 실행될 가능성이 더 높습니다. 1234는 수신 대기하도록 소켓 서버를 작성/구성한 것과 동일한 방식으로 웹 서버가 포트 80에서 http 트래픽을 수신하도록 구성된 것과 같습니다. – Kynth

+0

로컬 컴퓨터에서 어떻게 실행 하시겠습니까? 작성한 응용 프로그램 유형 때문에 Windows 또는 Linux/Unix와 같은 로컬 시스템과 거의 유사한 서버를 임대해야합니다. 일반적으로 원격 데스크톱 (또는 SSH 사용)에서는 파일을 복사하거나 정상적으로 설치 한 다음 정상적으로 실행하거나 서비스/데몬으로 설치합니다. 이런 종류의 호스팅은 일반적으로 웹 사이트에서 스크립트를 돌보기 위해 처리 시간을 임대하는 것보다 비용이 많이 듭니다. – Kynth

1

소켓 서버가 HTTP를 프로토콜로 사용하지 않는 한 그렇게 할 수 없습니다.

서버용 포트를 사용하고 있습니까? 포트는 대화 할 응용 프로그램을 식별하는 데 사용됩니다.

사용하여 웹을 탐색 할 때 "http://something"당신이 정말 날 (HTTP 등록됩니다) 포트 80를 사용하여 IP 1.2.3.4 (DNS 조회)에서 찾을 수있는 물건을하자 말한다. 모든 브라우저는 HTTP가 포트 80을 사용한다는 것을 알고 있기 때문에 브라우저에서 포트를 지정할 필요가 없습니다.

그래서 실제로 호스트에 소켓 서버를 설치하고 고객/사용자에게 호스트 "www.mywebpage.com"의 포트 XXX에서 소켓 서버에 연결할 수 있습니다.

클라이언트를 구축했다면 포트를 하드 코딩하거나 기본 포트를 자동 지정하십시오.

+0

이제 이해 좀 더 :-) – Gaz83