C 번호와 웹 소켓 통신

 이 예제는 다음과 같은 코드를 직접 최종 웹 페이지에서 테스트 할 수있다.

  우선 수입 "반점"패키지 NuGet, 필요 .NET 프레임 워크 4.5 이상.

코드를 복사
시스템을 사용하여; 
System.Collections.Generic을 사용함; 
을 System.Linq을 사용함; 
하여 System.Threading을 사용함; 

네임 스페이스 Fleck.Samples.ConsoleApp 
{ 
    클래스 서버 
    { 
        정적 무효 메인 () 
        { 
            FleckLog.Level = LogLevel.Debug; 
            var에 allSockets = 새로운 목록 <IWebSocketConnection> (); 
            VAR 서버는 새로운 WebSocketServer을 ( "//10.10.10.99 : WS 50000") =; 
            server.Start (소켓 => 
                { 
                    socket.OnOpen = () => 
                        { 
                            Console.WriteLine ( "오픈!"); 
                            allSockets.Add (소켓);
                        }; 
                    socket.OnClose = () => 
                        { 
                            Console.WriteLine ( "닫기!"); 
                            allSockets.Remove (소켓); 
                        }; 
                    메시지 socket.OnMessage = => 
                        { 
                            Console.WriteLine (메시지); 
                            . allSockets.ToList () foreach는 (S => s.Send ( "에코"메시지 +)); 
                        }; 
                }); 


            VAR의 입력을 Console.ReadLine () =; 
            동안 (입력! = "종료") 
            { 
                foreach는 (allSockets.ToList ()에서 VAR 소켓) 
                { 
                    socket.Send (입력); 
                } 
                입력)을 Console.ReadLine (=; 
            } 

        } 
    } 
}
코드를 복사

다음 단계는 테스트, 첫 번째 실행 프로그램 창입니다.

시험 방법 1 : 오픈 브라우저, 디버그 모드로 들어갑니다 F12은 콘솔에서 테스트 코드를 입력합니다. (필자는 구글의 브라우저를 사용)

코드를 복사
= A 웹 소켓 새로운 새 WS ( "WS : //10.10.10.99 : 50001"); 
() 함수 ws.onopen = { 
    ws.send ( 'websocekt 시험'); 
}; 
ws.onmessage = 함수 (E) { 
    경보 ( " 서버에서 메시지를 수신하는 것입니다 : "+ e.data); 
};
코드를 복사

완료를 눌러 계속 입력 할 때, 당신은 커맨드 라인을 통해 전달 된 데이터를 볼 수 있습니다.

시험 방법 2 : HTML 스크립트 서면.

코드를 복사
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title>websocket client</title>
    <script type="text/javascript">
        var start = function () {
            var inc = document.getElementById('incomming');
            var wsImpl = window.WebSocket || window.MozWebSocket;
            var form = document.getElementById('sendForm');
            var input = document.getElementById('sendText');

            inc.innerHTML += "connecting to server ..<br/>";

            // create a new websocket and connect
            window.ws = new wsImpl('ws://10.10.10.99:50000/');

            // when data is comming from the server, this metod is called
            ws.onmessage = function (evt) {
                inc.innerHTML += evt.data + '<br/>';
            };

            // when the connection is established, this method is called
            ws.onopen = function () {
                inc.innerHTML += '.. connection open<br/>';
            };

            // when the connection is closed, this method is called
            ws.onclose = function () {
                inc.innerHTML += '.. connection closed<br/>';
            }

            form.addEventListener('submit', function (e) {
                e.preventDefault();
                var val = input.value;
                ws.send(val);
                input.value = ""; 
            }); 

        }
        위해 window.onload = 시작; 
    </ script> 
</ head> 
<body> 
    <form 자료 = "sendForm"> 
        <input ID가 = "sendText가"자리 = "문자 보내"/> 
    </ FORM> 
    </ 사전 < "incomming"사전 식> > 
</ BODY> 
</ HTML>
코드를 복사

 

난 당신이 자신을 보충 할 분명히하지 않은 희망을 어디에서, 여기에 종료합니다.

참조 : HTTPS : //www.cnblogs.com/cjm123/p/9674506.html

추천

출처www.cnblogs.com/sexintercourse/p/12326498.html