该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-08
我纳闷一个问题:为什么进来一些人打了17个“新手贴”却始终是咱们3个人再说这个事,是:太简单不屑于回答?还是浮躁坏风气?我看答案未见得,这事真那么简单,这问题真那么新手,我看也不见得。
|
|
返回顶楼 | |
发表时间:2009-02-08
受教了,一般我都是用byte[]接收,没用过char[],没有需要size-1啊
我做法是字节流判断关闭socket 1)接收到-1 2)异常抛出 字符流 1)接收到Null 2)异常抛出 |
|
返回顶楼 | |
发表时间:2009-02-08
unsid 写道 我纳闷一个问题:为什么进来一些人打了17个“新手贴”却始终是咱们3个人再说这个事,是:太简单不屑于回答?还是浮躁坏风气?我看答案未见得,这事真那么简单,这问题真那么新手,我看也不见得。
哈哈,楼上的兄弟,不用太气愤。目前中国的IT界浮躁风太甚。很多的所谓公司的高手,是只停留在应用层面,而缺乏专研和创新精神的。大多喜欢看很多开源项目的API,会用很多很多IDE,能搭各种应用服务器,当却很少注重算法,数据结构,也很少认真研究协议的。也许有很多人看了要生气,要不服气的,不过我觉得我说的是事情,相信javaeye上有真正的大牛,会有同样的感受。 |
|
返回顶楼 | |
发表时间:2009-02-08
另长连接的socket一般都会加上心跳包来判断连接
|
|
返回顶楼 | |
发表时间:2009-02-09
精华帖 (0) :: 良好帖 (2) :: 新手帖 (17) :: 隐藏帖 (0)
为什么我打不了? |
|
返回顶楼 | |
发表时间:2009-02-09
之前和别人讨论一个问题,socket.connect创建了一个网络连接,那么这个连接到底是个什么东西,我指示它以什么形势存在,比如是不是服务器端为客户端保存某个状态位,或者什么其他形势,为什么会有长连接和瞬时连接之分,在socket.close()之前和之后,服务器和客户端各发生了哪些变化
|
|
返回顶楼 | |
发表时间:2009-02-09
这段代码很好。。我来比较比较我写的。
|
|
返回顶楼 | |
发表时间:2009-02-09
最后修改:2009-02-09
SoLinger 套接字选项 取值
{0,0} 代表socket调用 close 后会等待发送缓冲区所有数据报送完毕,才会真正close socket ,这个是默认 {1,0} 夭折连接 ,即调用close ,不管发送缓冲区有没有待发送数据,都直接关闭连接,丢弃发送缓冲区的所有数据 {1,非0值n},调用close后,等待n长时间后(具体单位忘了),此时间中仍处理发送缓冲区的数据,数据发送完或者时间到,关闭socket 另外,dennis_zane 老大,诚心向你请教我对IO模型理解哪里有问题呀? 还想对楼主说一句,我们做java的也可以多去了解底层细节呀,虽然大多都是业余时间. |
|
返回顶楼 | |
发表时间:2009-02-09
bachmozart 写道 SoLinger 套接字选项 取值
{0,0} 代表socket调用 close 后会等待发送缓冲区所有数据报送完毕,才会真正close socket ,这个是默认 {1,0} 夭折连接 ,即调用close ,不管发送缓冲区有没有待发送数据,都直接关闭连接,丢弃发送缓冲区的所有数据 {1,非0值n},调用close后,等待n长时间后(具体单位忘了),此时间中仍处理发送缓冲区的数据,数据发送完或者时间到,关闭socket 另外,dennis_zane 老大,诚心向你请教我对IO模型理解哪里有问题呀? 还想对楼主说一句,我们做java的也可以多去了解底层细节呀,虽然大多都是业余时间. SoLinger时间单位是秒,而SoTimeOut是毫秒,呵呵,java这么设计估计是历史遗留问题吧,否则应该统一单位的 楼上说的对,还是俺不够勤奋啊,一直没有找到java方面对socket的描述(java网络通讯的书买了不少,但对socket下面的实现谈得少),也就懒得看与C、C++相关的文章了。 |
|
返回顶楼 | |
发表时间:2009-02-09
最后修改:2009-02-09
swen00 写道 受教了,一般我都是用byte[]接收,没用过char[],没有需要size-1啊
我做法是字节流判断关闭socket 1)接收到-1 2)异常抛出 字符流 1)接收到Null 2)异常抛出 byte接收时,如果碰到char编码不同,则字节长度就不一样了,UTF8的汉字是3byte,英文字母1byte,不知道有没有记错。 utf-16的统统2byte 使用byte接收数据,我习惯两种情况: 1.通讯包有明确协议,能给出每段报文的字节数的;或者报文头部就带有描述字节数的信息的。 2.信息本身就是2进制的,如音频,图像等 |
|
返回顶楼 | |