我的HTML页面如何在客户端访问socket.io?
我正在做socket.io聊天教程,到目前为止一切都正常。但我不明白客户端是如何使用socket.io代码的:我的HTML页面如何在客户端访问socket.io?,html,node.js,linux,socket.io,Html,Node.js,Linux,Socket.io,我正在做socket.io聊天教程,到目前为止一切都正常。但我不明白客户端是如何使用socket.io代码的: <!-- Load socket.io client-side --> <script src="/socket.io/socket.io.js"></script> <script src="https://code.jquery.com/jquery-1.11.1.js"></script> <script>
<!-- Load socket.io client-side -->
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function (){
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
所以它是从/socket.io/socket.io.js访问它的,但我的文件夹中没有。我不知道HTML网页是如何访问socket.io.js文件的。不知道该怎么问这个问题。这个.js文件在哪里
<script src="/socket.io/socket.io.js"></script>
在上面的代码中,3000是服务器运行的端口,192.168.0.103将替换为您的本地ip地址。
希望这会有帮助
在上面的代码中,3000是服务器运行的端口,192.168.0.103将替换为您的本地ip地址。
希望这会有帮助 您是否正在学习有关的教程?有一句话是这样说的:在开发过程中,socket.io会自动为我们的客户机提供服务,我们将看到,所以现在我们只需要安装一个模块。因此,socket.io似乎为路径/socket.io/socket.io.js安装了一个处理程序。我没有使用socket.io的经验,但我想在生产环境中为脚本提供服务是您的责任。是的,我读过这一部分,但我仍然对处理程序以及如何或在何处访问.js文件感到困惑。是的,这就是教程。如果我没有弄错的话,在socket.io/lib/index.js.的第101行中处理客户端脚本。您是否遵循上的教程?有一句话是这样说的:在开发过程中,socket.io会自动为我们的客户机提供服务,我们将看到,所以现在我们只需要安装一个模块。因此,socket.io似乎为路径/socket.io/socket.io.js安装了一个处理程序。我没有使用socket.io的经验,但我想在生产环境中为脚本提供服务是您的责任。是的,我读过这一部分,但我仍然对处理程序以及如何或在何处访问.js文件感到困惑。是的,这就是教程。如果我没有弄错的话,在socket.io/lib/index.js的第101行中处理客户端脚本:。上面的答案是用于连接客户端到服务器,如果客户端文件由不同的服务器提供,假设您的index.html位于apache服务器上,而您的节点服务器运行在不同的地址。如果您的文件仅由节点服务器提供服务,则不必指定服务器的地址,它将类似于var socket=io;我专注于你答案的第一部分,我理解这种联系是如何运作的。我只是好奇客户端是如何找到socket.io javascript文件的:你说它在node_模块中查找它,但我不明白,node_模块这个词甚至不在script标记的src属性中。它怎么知道在那里寻找它呢?实际上我也很困惑它是如何得到那个文件的,但是我是如何找到那个文件的,在复制了那个文件之后,它对我起了作用,所以你只是把它从节点模块复制到与.html文件相同的目录中,它就起作用了?没问题吗?是的,它可以工作只是更改.html文件的src属性上面的答案是用于将客户端文件连接到服务器,如果客户端文件由不同的服务器提供,假设您的index.html位于apache服务器上,而您的节点服务器运行在不同的地址。如果您的文件仅由节点服务器提供服务,则不必指定服务器的地址,它将类似于var socket=io;我专注于你答案的第一部分,我理解这种联系是如何运作的。我只是好奇客户端是如何找到socket.io javascript文件的:你说它在node_模块中查找它,但我不明白,node_模块这个词甚至不在script标记的src属性中。它怎么知道在那里寻找它呢?实际上我也很困惑它是如何得到那个文件的,但是我是如何找到那个文件的,在复制了那个文件之后,它对我起了作用,所以你只是把它从节点模块复制到与.html文件相同的目录中,它就起作用了?没问题吗?是的,只要从.html文件中更改src属性就可以了
<script src="socket.io.js"></script>
$(function (){
var socket = io("http://yourserver.com");
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
});
var socket = io("http://192.168.0.103:3000");