iosocket = io.connect 迷惑

原创 2013年12月08日 16:34:18

http://socket.io/#how-to-use的客户端是这么写的


CLIENT (INDEX.HTML)

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

The client is served automatically by the Node.JS server. In your <head> tag of your HTML, include:

<script src="http://<uri:port>/socket.io/socket.io.js"></script>

If your web app and socket.io are on the same server and port, you can simply include:

<script src="/socket.io/socket.io.js"></script>

Socket.io client can also include optional version numbers, in order to maximize caching performance. You can simply include the version number within javascript filename;

<script src="/socket.io/socket.io.v0.0.1.js"></script>

If you choose to serve the client through other means, you can clone the socket.io-client repository and look at the dist/ subdirectory.







我自己用的是8888端口
"/socket.io/socket.io.js"    socket.io.js此文件在此目录不存在
正确目录为  node_modules\socket.io\lib  但改为正确目录,再运行文件进行连接时,显示上段代码中的 IO undefined 
试了网上说的在地址前面的 localhost  但同样不行
换回"/socket.io/socket.io.js" 既能正确访问
不知道为何。。。记录待解决

/************2
在浏览器访问http://localhost:8888/socket.io/socket.io.js    可以得到socket.io.js文件内容
一直认为localhost:8888应该是  server.js 的目录 ,因为index.html  同在这个目录。
但这样看好像不是。
另建一个 1/index.html访问 仍对。因此localhost:8888应该是  server.js 的目录。
但在此目录找不到 socket文件夹
看server.js文件 
有句 

res.writeHead(200, { 'Content-type': 'text/html'});
 res.end(fs.readFileSync(__dirname + '/index.html'));

.rese.writeHead方法表示,服务器端回应一个HTTP头信息;
response.end方法表示,服务器端回应的具体内容,以及回应完成后关闭本次对话。  
readFileSync是读取文件的操作       
 _dirname:指向当前运行的脚本所在的目录。

//插句--到这突然发现自己对服务器的理解有误,页面是服务器端回应才显示的,而不是主动访问的。是主动访问服务器,然后服务器回应页面

想看目录地址,因此在server.js加了一句  console.log(__dirname);  想在服务器端输出 地址
输出:
info  - socket.io started
Listening at: http://localhost:8888
F:\nodejs

地址没错。
那么F:\nodejs\socket.io\socket.io.js 在哪?

/*************
突然发现info  - socket.io started 这一句,会不会是在服务器端建立的时候同时新建了整个文件?
访问客户端页面,服务端出现以下消息:
   debug - served static content /socket.io.js
   debug - client authorized
   info  - handshake authorized nBdiU__gmVQRumBZfSAB
   debug - setting request GET /socket.io/1/websocket/nBdiU__gmVQRumBZfSAB
   debug - set heartbeat interval for client nBdiU__gmVQRumBZfSAB
   debug - client authorized for
   debug - websocket writing 1::

单词基本认识,但不太懂什么意思。。。
(authorized) ['ɔːθəraɪzd]  adj. 经授权的;经认可的
(interval)  ['ɪntəv(ə)l] n. 间隔;间距;幕间休息


回头看server.js文件,之前都在试例子,没看每句的具体含义:(看完回来再写)(随手问题:就算是服务启动才新建了一个,但如果客户端引入网络上的socket.io文件应该是可以访问,执行的,但为何同样不行,17.30吃饭去)









相关文章推荐

socket.io实践篇(1)

谈到socket.io,就不能不提一下websocket,websocket是html5的新特性之一,多少web开发者为之兴奋,websocket可以使web程序客户端和服务端之间保持长连接,可以实现...

实时通讯之Socket.io

Socket.IO是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用。...

Socket.io创建连接的参数

Socket.io创建连接的参数 我不想花太多口舌向你推销Socket.io,因为我根本就不够资格,也因为根本就不需要,Socket.io目前在Websocket界中的霸主地位就好比当年的PHP~ 写...

node.js认识学习一:socke.io.emit 方法

emit可以很方便的发送数据,例如: socket.emit('action');表示发送了一个action命令,命令是字符串的,在另一端接收时,可以这么写: socket.on('action',...

Spring Boot实战之netty-socketio实现简单聊天室(给指定用户推送消息)

Spring Boot实战之netty-socketio实现简单聊天室(给指定用户推送消息) 网上好多例子都是群发的,本文实现一对一的发送,给指定客户端进行消息推送 1、本文使用到...
  • sun_t89
  • sun_t89
  • 2016年07月29日 07:56
  • 16103

传统IO socket

BIO,即阻塞IO,在基于Socket的消息通信过程中,Socket服务端向外部提供服务,而Socket客户端可以建立到Socket服务端的连接,进而发送请求数据,然后等待Socket服务端处理,并返...

socket通讯是使用第三方库还是手工封装操作系统api

socket通讯是使用第三方库还是手工封装操作系统api?       我相信做过几年的服务器程序开发,你不止一次和网络通讯、数据库、文件系统打交道。闭上眼睛,静静回忆一下你开发的那些C++服务器系...

socket.io 中namespace 和 room的概念。

基本概念看socketio官方文档  http://socket.io/docs/rooms-and-namespaces/ namespace 和room的概念其实用来同一个服务端socket多路...

Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter could not establish the connect

导入maven项目后,运行报错。 问题描述:  Cannot create PoolableConnectionFactory (Io 异常: The Network Adapter co...

hadoop报错java.io.IOException: Bad connect ack with firstBadLink as 192.168.1.218:50010

今天再测试的时候报错了[root@linuxmain hadoop]# bin/hadoop jar hdfs3.jar com.dragon.test.CopyToHDFSJava HotSpot(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iosocket = io.connect 迷惑
举报原因:
原因补充:

(最多只允许输入30个字)