论坛首页 Java企业应用论坛

HTML5 WebSocket 通讯原理.(Java实现,附件源码)

浏览 20615 次
精华帖 (1) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-13  
LeoChowComtop 写道
. 楼主需要加固下基础知识

你说的是指哪方面的基础哦?
代码里确实有做的不好的地方..
但是我是想尽量简单为好....
0 请登录后投票
   发表时间:2011-09-13  
KimHo 写道
说下背景和应用场景,看得一头雾水,呵呵

应用场景 rainsilence已经说了
说具体点..如果需要做即时响应的WEB应用.如:服务器收到一个事件.需要即时通知客户端做一些事件.并且.客户端是浏览器
主要方法有两种.Ajax轮询.或者服务器推.
Ajax轮询实际上不属于实时的.而且会不断求请服务器,即时没有事件.
服务器推.也想当于是socket 只不过由第三方工具实现.所以需要安装插件..如FLASH(FLASH插件) .Applet(JVM).这些都是需要在客户端安装
Websocket 是由浏览器开发者提供.属于HTML的新特性..这也是目前部分浏览器不支持的原因.
0 请登录后投票
   发表时间:2011-09-13  
shenliu 写道
DaN_DaN 写道
提前条件
1> 了解socket.
2> 了解协议,了解HTTP协议更好.(想想为什么需要协议就行.安全?保证数据完整?便于解析?)
3> 理解字节,字节序,如: 32位int 的 30转成 高字节序的字节 及是 0x00 0x00 0x00 0x1E,低字节序则 0x1E 0x00 0x00 0x00. 没数错的话是4个字节^_^

请楼主给出上面各项的参考,谢谢~~

1。Socket 属于Java网络编程那块 是TCP协议.这个可以暂时不管.
一般桌面应用比较多.再或者就是一些服务器端相对特殊一点的应用.
网上有很多这方面的资料..一搜一大把.

2.做WEB的肯定经常听到..HTTP协议.或者HTTP基于TCP..还有其他什么协议这类的..
这种想当于是一种规范...试想一下如果没有规范... IE,Firefox.等浏览器应该怎么和各种WEB服务器交互喃?
都以自己的方式去写程序?这样肯定不能通用..所以大家都遵循这种规范.实现.然后都可以互相访问了.

3. 理解字节,字节序。做JAVA的相对可能接触比较少.但是简单的..比如 int java里占4个字节. short 2字节. 等.应该有了解.
这方面和位运算比较相关.网上资料很多的.一时半会儿说不清楚.但是至少要了解 &(与),|(或),~(非),^(异或)..以及左移右移.
一般做这方面.打印的信息是以16进制打印的..但是 上面的操作却又是 二进制操作.需要转换一下
比如 int a = 3; //   二进制. 就是 0000 ... 0011;  
       a <<=2;   //  就变成 0000 ... 1100;   . 十六进制就是 0x0000000C
然后..所谓的.. int 类型益出也是这样造成的 Integer.MAX_VALUE + 1 == Integer.MIN_VALUE // true
负数表示相对麻烦一点..可以理解了正数在去看负数相关的
0 请登录后投票
   发表时间:2011-09-14   最后修改:2011-09-14
rainsilence 写道
CurrentJ 写道
rainsilence 写道
知道这个原理,加上canvas或者webgl,国人就可以写出自己的大型网页游戏。比如cs版的魔兽争霸,cs等。

webserver不就是干这个的么?

现在的主流webserver只支持http协议,而不支持ws协议。lz所干的事情就是解析了ws协议。

现在有浏览器支持么?
0 请登录后投票
   发表时间:2011-09-14  
CurrentJ 写道
rainsilence 写道
CurrentJ 写道
rainsilence 写道
知道这个原理,加上canvas或者webgl,国人就可以写出自己的大型网页游戏。比如cs版的魔兽争霸,cs等。

webserver不就是干这个的么?

现在的主流webserver只支持http协议,而不支持ws协议。lz所干的事情就是解析了ws协议。

现在有浏览器支持么?

全浏览器(ie9,chrome10,Firefox4(默认不开启),opera11以上)
0 请登录后投票
   发表时间:2011-09-14  
rainsilence 写道
CurrentJ 写道
rainsilence 写道
CurrentJ 写道
rainsilence 写道
知道这个原理,加上canvas或者webgl,国人就可以写出自己的大型网页游戏。比如cs版的魔兽争霸,cs等。

webserver不就是干这个的么?

现在的主流webserver只支持http协议,而不支持ws协议。lz所干的事情就是解析了ws协议。

现在有浏览器支持么?

全浏览器(ie9,chrome10,Firefox4(默认不开启),opera11以上)

学习。
0 请登录后投票
   发表时间:2011-09-15  
可以试试jWebSocket。
0 请登录后投票
   发表时间:2011-09-25  
java本身就是高字节序。只需要把int转为byte数组就行
0 请登录后投票
   发表时间:2011-10-13  
现在支持html5的浏览器多吗?
0 请登录后投票
   发表时间:2011-11-24  
rainsilence 写道
知道这个原理,加上canvas或者webgl,国人就可以写出自己的大型网页游戏。比如cs版的魔兽争霸,cs等。

应该是去实现BS版的,browser-server
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics