socket-io-server 설치 및 실행 관련 문제 기록
설치, 기본적으로 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 () {
});
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
React 구성 요소에서 소켓 이벤트 리스너가 여러 번 실행됩니다.기본적이지만 종종 간과되는 사이드 프로젝트를 하면서 배운 것이 있습니다. 이 프로젝트에는 단순히 두 가지 주요 부분이 포함되어 있습니다. 프런트 엔드: 반응 및 재료 UI 백엔드: Express, Typescript...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.