黑马程序员技术交流社区
标题:
看老毕23天内容一个小问题,求大神指教!
[打印本页]
作者:
☆枫の云
时间:
2014-6-10 11:41
标题:
看老毕23天内容一个小问题,求大神指教!
本帖最后由 ☆枫の云 于 2014-6-12 10:27 编辑
今天看了一下老毕第23天-14-网络编程(TCP复制文件)的,他最后讲到定义时间戳让客户端和服务端结束的例子,但是没有讲完,求教那个定义时间戳服务器端结束的判断是什么样的啊?
客户端里在Socket输出流开始之前读了一个currentTimeMillis,然后用DataOutputStream发出去了,然后Socket输出流结束后又读了一个currentTimeMillis,然后也发出去了。
在服务器端,用DataInputStream读到了,然后说可以在下面Socket读取流里判断一下,服务器端的Socket读取流就能关闭了,应该怎么判断呢?求指教!
作者:
zly1992008
时间:
2014-6-10 13:58
23天。。老毕的不是看到21天就可以面试了么?
作者:
铁血丹心
时间:
2014-6-10 14:43
我是这样理解的:
第二次发送的时间就是第一次发送的时间。服务端收到第一次发送的时间,记录下来,作为判断依据,等到客户端再次发送这个时间过来时,就关闭。为什么用时间戳,是因为时间不容易重复,是唯一的。
比如,我先发送“over”给服务端,服务端收到,把over作为结束标记,等我在客户端再输入“over”时,关闭服务
作者:
☆枫の云
时间:
2014-6-10 18:12
铁血丹心 发表于 2014-6-10 14:43
我是这样理解的:
第二次发送的时间就是第一次发送的时间。服务端收到第一次发送的时间,记录下来,作为判 ...
感觉有道理,不过发送的两个时间应该不是同一个时间,因为之前学currentTimeMillis时,老毕用这个测试过一段程序运行的时间,就是在一段循环代码前读了一下currentTimeMillis,然后循环结束又读了一次,然后两个值相减得出了循环代码运行的时间,所以你这种理解应该还是有问题。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2