Java Scoket
MOOR212
这个作者很懒,什么都没留下…
展开
-
java Socket输出不稳定问题
java socket编程,当建立连接后,如果连续的几个流去输出到server端,或者建立连接时,就紧接着去写数据,往往会产生 有的第一次的数据可以输出,但是第二次的数据却不能输出。这种情况并不是固定的。第一次运行可以,第二次或许就不可以。这里引用一下比人的文章。原文:http://blog.sina.com.cn/s/blog_616e189f0100s3px.html Socket...原创 2011-09-04 21:14:27 · 895 阅读 · 0 评论 -
Socket总结
1.设置发送逗留时间 socket.setSoLinger(true, 2); 这个参数是socket发送数据时的超时,如果对方在固定时间内不接受,则关闭socket。与socket.setSoTimeout(2000)不 同,这个是设置InputStream上调用 read()阻塞超时时间。 2.socket.setTcpNoDelay(true);关闭Nagle算法。这使得在调用o...2011-12-15 16:59:10 · 186 阅读 · 0 评论 -
Socket通信总结
(转)------------------前言------------------开发了这么多年,发现最困难的程序开发就是通讯系统。 其他大部分系统,例如CRM/CMS/权限框架/MIS之类的,无论怎么复杂,基本上都能够本地代码本地调试,性能也不太重要。(也许这个就是.net的企业级开发的战略吧) 可是来到通讯系统,一切变得困难复杂。原因...原创 2011-11-03 14:34:09 · 135 阅读 · 0 评论 -
如何正确使用Java I/O输出和读入数据
如何正确使用Java I/O输出和读入数据 (转)前言Java的I/O系统使用“流”来处理各种类型的输入、输出数据的任务。在传输数据的过程中,我们需要判断流中传输的数据何时结束这样的问题。这对于我们正确地发送和接收数据是非常关键的。如何判断流的末尾和批数据的末尾,是解决这个问题的关键。本文就是要深入地分析Java I/O输入输出的工作原理,保证我们能够正确地执行数据...原创 2011-11-02 22:49:26 · 107 阅读 · 0 评论 -
java中的分包处理
java中的分包处理 一般在socket处理大数据量传输的时候会产生粘包和半包问题,有的时候tcp为了提高效率会缓冲N个包后再一起发出去,这个与缓存和网络有关系。接收端接收到正确的后都要给发送端一个应答。不给应答的算超时,发送端将重发。 出现粘包和半包现象,是因为TCP当中,只有流的概念,没有包的概念.。可以使用UDP协议.这样可以就可以区分每个包了.但是要确保包的丢失处理.为了提到效...原创 2011-11-02 00:41:35 · 604 阅读 · 0 评论 -
java基于TCP的socket数据包拆分方法
java基于TCP的socket数据包拆分方法发表于129 天前 ⁄ Java ⁄ 评论数4 ⁄ 被围观 916次+ 关键字:java socket tcp 分包 粘包好了,现在轻松许多。话说看到falcom官方的《空轨》动画时间表,又看到崩坏的人设,我表示真的非常不能接受。当然了这个咱也管不着。好了话归正题,前不久写的socket程序,服务器是java的,客户端是flex。...原创 2011-11-02 00:31:52 · 940 阅读 · 0 评论 -
解决TCP网络传输“粘包”问题
解决TCP网络传输“粘包”问题 原文出处:http://www.ciw.com.cn/ 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API)。TCP/IP传输层有两个并列的协议:TCP和UDP。其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务。UDP(user dat...原创 2011-11-02 00:10:07 · 121 阅读 · 0 评论 -
偶尔丢包的解释
偶尔丢包的解释: TCP是基于流传输的,假设你的发送包的大小为6k,你的一个文件大小为42k,(一共7个包)我们把接收文件的缓冲区设置为42k以上,现在如果你采用TCP协议,那么一次就可以把所有的包都传输到了接受文件一端,这个时候很多人都只解析了第一个包,忽略了其他6个包,于是就认为是丢包现象。但是如果你的接收文件的缓冲区设置为40的话,那么貌似没有丢包现象,事实上,你只解析了第一个和第七个包...原创 2011-11-01 23:52:50 · 503 阅读 · 0 评论 -
基于java的InputStream.read(byte[] b,int off,int len)算法学习 .
基于java的InputStream.read(byte[] b,int off,int len)算法学习public int read(byte[] b, int off, int len) throws IOException将输入流中最多 len 个数据字节读入字节数组。尝试读取多达 len 字节,但可能读取较少数量。以整数形式返回实际读取的字节数。 在输入数据可用、检测到流...原创 2011-10-16 23:28:27 · 177 阅读 · 0 评论 -
Socket实验记录
实验一、 tcp连接在物理断开后会有重试机制,只要在重试超时内物理恢复后连接照样正常工作。 (1)在链接正常的情况下,拔掉pad与电脑的网线,点击pad上的按钮,则电脑服务器端没有变化;(2)停几秒,插上pad上的网线,再点击pad上的按钮,主机server端能继续显示发送到命令。 实验2. 设置超时,只对服务器端有效,客户端并不能检测到超时。 (1)当C/S两端都设置超时...原创 2011-09-27 18:09:55 · 125 阅读 · 0 评论 -
一段Java socket代码
在使用Socket来连接服务器时最简单的方式就是直接使用IP和端口,但Socket类中的connect方法并未提供这种方式,而是使用SocketAddress类来向connect方法传递服务器的IP和端口。虽然这种方式从表面上看要麻烦一些,但它会给我们带来另外一个好处,那就是网络地址的重用。 所谓网络地址的重用表现在两个方面: 1. 通过建立一个SocketAddress对象,...原创 2011-09-09 11:21:03 · 101 阅读 · 0 评论 -
网络基础知识
1.SYN (synchronize) SYN是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。 TCP连接的第一个包,非常小的一种数据包。SYN 攻击包括...原创 2011-09-07 09:13:01 · 303 阅读 · 0 评论 -
ping 中TTL的含义
命令:C:\Documents and Settings\user>ping www.ezloo.comPinging www.ezloo.com [66.235.202.42] with 32 bytes of data:Reply from 66.235.202.42: bytes=32 time=254ms TTL=51Reply from 66.235.202.42...原创 2011-12-22 22:07:48 · 432 阅读 · 0 评论