PHP와 같은 소켓 IO를 사용하는 것과 관련하여 몇 가지 질문이 있습니다. nodejs/socket io를 처음 사용하므로 거의 알지 못하므로 지난 며칠 동안 사용하기 시작했습니다. 나는 이것을 내 웹 사이트에 구현할 예정이다. (지금은 테스트 예제를 거의 만들지 않았다.)Node.js + 소켓 IO + Apache + PHP는 URL에서 포트를 제거 하시겠습니까?
질문 : 현재 포트를보기 위해 로컬 호스트에 포트를 추가해야합니다. 라이브 웹 사이트 일 때이 기능을 사용할 수 없으며, 사용할 때이 기능을 사용할 수 없습니다. PHP는 페이지 (그냥 html로 예제를하고있다) 만약 내가 내 호스트 io 서버에 대한 포트 4000을 사용하고 있습니다 : localhost : 4000,하지만 갈 수 있어야합니다 : localhost : 8888/mysitefolder (8888 내 MAMP를위한 포트, PHP 및 모든 것) 사람들이이 문제를 해결 한 질문에서 본 적이 있지만 내 자신을 위해 일할 수 없습니다.
chat.js
var app = require('express').createServer(),
io = require('socket.io').listen(app);
app.listen(4000);
var users = [];
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket) {
socket.emit('connected');
socket.on('userID', function (userID) {
users.push(userID);
});
socket.on('message', function (message) {
socket.broadcast.emit('message-response', { data: message});
});
});
index.html을
<title>Testing</title>
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
function mktime(){
var newDate = new Date;
return newDate.getTime();
}
function appendMessage(data)
{
$("body").append(data+"<br />");
}
var socket = io.connect('http://localhost:4000');
socket.on('connected', function() {
//select id from database in real environment
socket.emit("userID", mktime());
});
socket.on('message-response', function (message) {
appendMessage(message.data);
});
$(document).ready(function(){
$('#input').keypress(function(event) {
if (event.keyCode != 13) return;
var msg = $("#input").val();
if (msg) {
socket.emit('message', msg);
appendMessage(msg);
$("#input").val('').focus();
}
});
});
</script>
<body>
<input type="text" id="input"><br>
</body>
'내가 할 수 있어야 할 것 : localhost : 8888/mysitefolder'란 무엇을 의미합니까? 당신이해야 할 일은 "localhost : 4000/socket.io/socket.io.js"와 같은 js 파일을 참조하는 것뿐입니다. Express 서버가 없어도 JS 코드로 색인 파일을 제공 할 수 있습니다. – alessioalex
그럼 localhost : 8888은 MAMP가 실행되는 곳입니다. php와 모든 것에 대해 mysitefolder는 PHP 파일이 작동하는 폴더입니다. 또한 내 두 파일에서 무엇을 변경합니까? 방금 시도했는데 오류가 있습니다. (내가 말했듯이, 이것으로 새로운 것이므로 모든 것이 어떻게 작동하는지 잘 모르겠다.) –
신경 쓸 일이 없다. 감사. –