socket-io-server 설치 및 실행 관련 문제 기록

4036 단어 socket
버전: 0.8.7-3
설치, 기본적으로 node 로 압축 풀기modules 아래에서 많은 확률로 운행할 수 없습니다. 왜냐하면 다른 라이브러리의 지탱이 필요하기 때문입니다.나는 계속해서 socket을 내렸다.io-client,uglify-js,connect 세 항목을 모두 nodemodules, 실행에 성공했습니다.자신의 기계가 어떤 라이브러리가 적은지 알고 싶다면 크롬으로 개발자 도구를 열거나 CMD의 힌트를 직접 볼 수 있다.
설치에 성공한 후 프로젝트 운행 과정에서 또 몇 가지 문제에 부딪혔다.
1. 브라우저 알림:
warn  - unknown transport: "undefined"

info  - unhandled socket.io url

이 문제는 인용된 socket 때문이다.io.js 파일 버전이 잘못되었습니다. 다음 파일은 기한이 지났습니다. 최신 버전과 맞지 않습니다.
 <script type="text/javascript" src="/socket.io/socket.io.js" />

해결 방법:
JS 서버 파일에서 서버 응답 프로그램을 만들어야 합니다. 아래와 같습니다.

var sys = require('sys'),
    express = require('express'),
    app         = express.createServer('localhost'),
    io          = require('socket.io');
app.listen(3000);

var server = io.listen(app);


src="/socket.io/socket.io.js"의 이 socket.io.js 파일을 로컬 컴퓨터에서 찾을 수 없습니다. 서버에서 생성한 이 js 파일을 사용해야 합니다.
 <script src="http://localhost:3000/socket.io/socket.io.js />

다음은 내 기계에서 테스트에 통과한 간단한 예를 첨부한다.
클라이언트:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta charset="UTF-8">
<head>
   <script src="http://localhost:3000/socket.io/socket.io.js%22%3E%3C/script>
 <script type="text/javascript">
  // Socket.IO ,
  var socket  = io.connect('http://localhost:3000');

        socket.on('connect', function () {
            alert('connected');
            socket.on('message', function (msg) {
                alert(msg+"message");
            });
        });

        socket.on('disconnect', function () {
            alert('disconnected');
        });
function sendMessageToServer(msg)
{
 socket.send(msg);
}
    </script>
</head>

<body>
<div id="chat-box" style="bordddder:1px solid #cccccc; width:400px; height:400px; overflow:scroll;"></div>
:<input type="text" id="nike"/><br/>
:<input type="text" id="talk"/><input type="button" id="send" onClick="sendMessageToServer('111');" value=" "/>
</body>
</html>

 

 

var sys = require('sys'),
    express = require('express'),
    app         = express.createServer('localhost'),
    io          = require('socket.io');
app.listen(3000);

var server = io.listen(app);

server.sockets.on('connection', function (client){
    // new client is here!
    client.send ( 'Now connected!' );
 console.log("loged");
    client.on('message', function (msg) {
  console.log(msg);
    }) ;

    client.on('disconnect', function () {

    });

});

 

 

 

좋은 웹페이지 즐겨찾기