2015-08-11 2 views
0

Мы создали веб-сервис WCF одним способом. Служба размещается на внешнем сервере, то есть Windows Server 2012 и IIS 8.0.WCF Full Duplex Application with Websocket Client

URL службы WCF: http://184.106.9.214/WCFReportingService/Service1.svc

метод WCF:

public void ProcessReport() 
    { 
     for (int i = 1; i <= 100; i++) 
     { 
      // some logic to process the report 
      Thread.Sleep(100); 
      // Get the callback channel to send messages to the client 
      OperationContext.Current. 
       GetCallbackChannel<IReportServiceCallback>().Progress(i); 
     } 
    } 

Мы пытаемся создать клиента с использованием HTML5 и JavaScript. Ниже приведена логика, которую мы использовали для инициирования соединения.

ws = new WebSocket("ws://localhost/WCFReportService/Service1.svc"); 
      alert(ws); 

      ws.onopen = function() { 

       // Web Socket is connected, send data using send() 
       ws.send("Message to send"); 
       alert("Message is sent..."); 

       $("#spanStatus").text("connected"); 
      }; 
      ws.onmessage = function (evt) { 
       var received_msg = evt.data; 
       alert("Message is received..."); 

       $("#spanStatus").text(evt.data); 
      }; 
      ws.onerror = function (evt) { 
       $("#spanStatus").text(evt.message); 
      }; 
      ws.onclose = function() { 
       // websocket is closed. 
       alert("Connection is closed..."); 

       $("#spanStatus").text("disconnected"); 
      }; 

Нам не удалось установить подключение к серверу. Мы думаем, что это может быть связано с файлом web.config на стороне клиента. Но мы не знаем, как реализовать или построить соединение.

Может ли кто-нибудь помочь нам построить клиент-серверное соединение?

Спасибо.

+0

Здравствуйте и добро пожаловать в StackOverflow. Ваш вопрос в текущей форме на самом деле не отвечает. Вам нужно будет указать более подробную информацию, например, какие ошибки вы получаете при вызове службы и как выглядит код клиента. Также прочитайте руководство по stackoverflow о том, как задать хороший вопрос: http://stackoverflow.com/help/how-to-ask –

ответ

1

Это может помочь кому-то с аналогичной проблемой, которую я имел. Ниже приведены ссылки, которые я использовал, и я смог заставить их работать.

Введение 2: http://www.codeproject.com/Articles/618032/Using-WebSocket-in-NET-4-5-Part-2 Введение 3: http://www.codeproject.com/Articles/619343/Using-WebSocket-in-NET-4-5-Part-3