BBS水木清华站∶精华区
发信人: lenlon (九天), 信区: Java
1. 在有数据来时有没有办法产生一个事件或有相应的函数?
2. 用流发送数据,成功时是指对方已收到数据还是指数据保存在本地的系统缓冲中?
3. 如何实现非阻塞/异步的数据传输?
请大侠们多多指教!
发信人: Yapith (早起的鸟儿有食吃), 信区: Java
【 在 lenlon (九天) 的大作中提到: 】
1. 在有数据来时有没有办法产生一个事件或有相应的函数?
2. 用流发送数据,成功时是指对方已收到数据还是指数据保存在本地的系统缓冲中�
以上两条应该这样理解: 发送方的输出流和接收方的输入流的动作是一一对应的。
如 发送方写一个整数 outSTream.wirteInt(3);
接受方就必须读一个整数 inStream.readInt() ;
只有两方同时做,才能成功。任何先做了上述动作的都会阻塞,等到
对方的相应动作做的时候才唤醒。上两个函数是同时结束的。
3. 如何实现非阻塞/异步的数据传输?
这就不懂了。
请大侠们多多指教!
发信人: proger (大飞), 信区: Java
【 在 Yapith (早起的鸟儿有食吃) 的大作中提到: 】
∶ 1. 在有数据来时有没有办法产生一个事件或有相应的函数?
∶ 2. 用流发送数据,成功时是指对方已收到数据还是指数据保存在本地的系统缓冲中�
∶ 以上两条应该这样理解: 发送方的输出流和接收方的输入流的动作是一一对应的。
∶ 如 发送方写一个整数 outSTream.wirteInt(3);
∶ 接受方就必须读一个整数 inStream.readInt() ;
∶ 只有两方同时做,才能成功。任何先做了上述动作的都会阻塞,等到
∶ 对方的相应动作做的时候才唤醒。上两个函数是同时结束的。
按照我的经验,即使接收方没有准备好,发送方仍然可以继续执行。
并且这种现象造成数据容易丢失?
∶ 3. 如何实现非阻塞/异步的数据传输?
∶ 这就不懂了。
∶ 请大侠们多多指教!
发信人: Yapith (早起的鸟儿有食吃), 信区: Java
【 在 proger (大飞) 的大作中提到: 】
∶ 按照我的经验,即使接收方没有准备好,发送方仍然可以继续执行。
∶ 并且这种现象造成数据容易丢失?
是么?我倒没有注意过。不过我调试网络通讯时一般都极小心,
一不留神就有一方死掉。
还有,SOCKET是基于传输层的TCP协议的,应该是可靠服务,象
你提到的这种情况好象不应该发生。
发信人: proger (大飞), 信区: Java
发送方不阻塞是肯定的,我为此极端焦头烂额:(
【 在 Yapith (早起的鸟儿有食吃) 的大作中提到: 】
∶ 是么?我倒没有注意过。不过我调试网络通讯时一般都极小心,
∶ 一不留神就有一方死掉。
∶ 还有,SOCKET是基于传输层的TCP协议的,应该是可靠服务,象
∶ 你提到的这种情况好象不应该发生。
发信人: rover (Eggplant), 信区: Java
我以前做过的一个实验是,如果接收方无人接收,那么发送程序
运行一段时间(发送了足够多的数据)后也就死掉了.
【 在 Yapith (早起的鸟儿有食吃) 的大作中提到: 】
∶ 是么?我倒没有注意过。不过我调试网络通讯时一般都极小心,
∶ 一不留神就有一方死掉。
∶ 还有,SOCKET是基于传输层的TCP协议的,应该是可靠服务,象
∶ 你提到的这种情况好象不应该发生。
BBS水木清华站∶精华区