2013-04-16 2 views
1

에 나는 로컬 XSocket를 사용하여 asp.net의 mvc3 웹 응용 프로그램을 가지고 있지만, 내 인트라넷에 있지 않습니다.XSocket는 로컬 호스트에서 잘 작동하지만, 잘 작동 인트라넷 환경

은 내가 xsockets 윈도우 서비스를 구성하고 잘 실행했습니다. "플러그인"(DLL 및 종속성)을 올바른 디렉토리에 복사 했으므로 올바르게 실행되었습니다. 내가 인트라넷을 통해 응용 프로그램에 액세스 할 때

문제

는 연결이 항상 폐쇄했다.

내가 특정 IP 주소/서버 이름을 가리해야합니까? 로컬 호스트에서 잘 실행

내 자바 스크립트 코드 :

var url = "ws://127.0.0.1:4507/"; 
var controller = "Chat"; 
var mensajes = $('#messages'); 
var mensaje = $('#message'); 

var ws = new XSockets.WebSocket(url + controller); 

function send() { 
    if (mensaje.val() != '') { 
     ws.trigger('sendall', { message: mensaje.val() }); 
     mensaje.attr('value', ''); 
    } 
} 

$(function() { 
    ws.bind(XSockets.Events.open, function() { 
     console.log("opened"); 
    }); 
    ws.bind(XSockets.Events.close, function() { 
     console.log("closed"); 
    }); 
    ws.bind(XSockets.Events.onError, function (err) { 
     console.log("error", err); 
    }); 
    ws.bind('sendall', function (mensaje) { 
     console.log(mensaje); 
     mensajes.prepend($('<div>').text(mensaje)); 
    }); 

    mensaje.on('keyup', function (e) { 
     if (e.which == 13 || e.keyCode == 13) { 
      e.preventDefault(); 
      send(); 
     } 
    }); 

    $('#publish').click(function() { 
     send(); 
    }); 
}); 

은 사전에 감사합니다. 모든

+0

안녕하세요. 맞춤 설정이 있습니까? 나는 당신이 127.0.0.1:4507에서 돌아가고있는 것을 보았습니다, 위의 예제가 기초로 삼은 로컬 머신에 있다고 생각합니까? 예, 서버가 실행 중일 경우 192.168.0.100, 당신은 세트를 필요로하는 구성 클래스의 열린 우리당뿐만 아니라 당신이 WS를 사용할 필요가 같이 //192.160.0.100/Chat 자바 스크립트에 http://xsockets.net/api/net -c/creating-custom-configuration-plugin – dathor

+0

답변 해 주셔서 감사합니다. 사용자 지정 구성으로 다시 시도합니다 ... –

+0

CustomConfigurationLoader를 구현해야하는 위치를 알고 있습니까? 내가 가진이 : [내보내기 (대해서 typeof (CustomConfigurationLoader))] 공용 클래스 ChatController : XSocketController { 공공 XReply 모두 발송 (문자열 메시지) {새로운 XReply (메시지)을 반환 .모든(); } } 이제 내 javascript는 다음과 같습니다. var ws = new XSockets.WebSocket ("ws : //192.168.1.102 : 4507/Chat", "Chat", null); 는하지만이 오류 메시지가 얻을 : 오류를 오브젝트 { 는 "핸들러의 이름은로드 된 플러그인에서 찾을 수 없습니다"= CUSTOMMESSAGE , 유형 = "XSocketException" , 메시지 = "" } –

답변

3

첫째, 당신은 당신의 컴퓨터 ADRESS의 *를 가리키는 열린 우리당을하도록 서버를 구성해야합니다 (하지 127.0.0.1을 로컬 호스트하지!). 그런 다음이 :

var url = "ws://127.0.0.1:4507/"; 

정확하게 주소와 일치해야합니다 (이 도메인 이름이 될 수 있지만, 스타터로, 더 나은 IP와 함께 할).

이 :

var ws = new XSockets.WebSocket(url + controller); 

요구는 같이합니다 : 나는 다른 포트와 함께 노력했기 때문에

또한
var ws = new XSockets.WebSocket("ws://my.ip.add.res:myport/myController", myController, null); //null can contain an array of parameters that you want to send to a server, but if you are just starting, leave this with null 

, 내 구성에 어려움을 겪고 있었다, 많은 시간이 내 베개를 물린 방화벽을 잊어 버렸습니다. 그러니 잊지 마세요. :)

나는 30-40 분 더 많은 것을 위해 여기에있을 것이고, 그 다음 나는 자고 자한다. 문제가 생기고 그 시간 안에 반응 할 것이면, 나는 여기 머물러서 너를 도우려고 노력할 것이다. 이것도 통과하고 있었고 그것은 지옥으로 다쳤습니다. :)

추신. [email protected]에서 개발자에게 연락 할 수도 있습니다. 개발자는 정말 멋진 사람이며 분명 도움이 될 것입니다.

* 편집 : 컴퓨터 주소 나는 xsockets 서버를 호스팅하는 컴퓨터를 의미합니다.

+0

답변 해 주셔서 감사합니다. 분명히 127.0.0.1은 테스트 환경을위한 것입니다. 방화벽은 문제가 아니며 이미 구성했습니다 ... 사용자 지정 구성을 다시 시도합니다 ... –

+0

CustomConfigurationLoader를 구현해야하는 위치를 알고 있습니까? 나는이 있습니다 [내보내기 (대해서 typeof (CustomConfigurationLoader))] 공용 클래스 ChatController : XSocketController { 공공 XReply 모두 발송 (문자열 메시지) {새로운 XReply (메시지) .ToAll를 반환 (); } } 이제 내 javascript는 다음과 같습니다. var ws = new XSockets.WebSocket ("ws : //192.168.1.102 : 4507/Chat", "Chat", null); 는하지만이 오류 메시지가 얻을 : 오류를 오브젝트 { 는 "핸들러의 이름은로드 된 플러그인에서 찾을 수 없습니다"= CUSTOMMESSAGE , 유형 = "XSocketException" , 메시지 = "" } –

+0

@JoaquinAlberto : XSocket 2.5 (최신 버전)를 사용하고 있다고 가정합니다. 'ChatController'에'[Export (typeof (CustomConfigurationLoader))]'와 같은 것이 필요 없습니다. 또한,'ChatController'는 설정 파일이 아니라 컨트롤러입니다. 커스텀 설정을 사용하고 싶다면'http : // bit.ly/11gBMiy'처럼 보일 것입니다. 단지'myProject.XSocketsNET.XSocketServerPlugins' 네임 스페이스에 넣으십시오. – ojek