您的位置:首页 > 其它

一些思考

2016-10-16 16:55 176 查看
可能是本人英语太烂,也不想玩那么高大上的GITHUB,打算在CSDN这里,记录自己的成长。

关于服务器通讯的原理:

一台socket服务器A,另外一台socket客户端B,现在如果要通讯的话,直接以流的方式写入或读出,这样就能实现通讯。但有个问题:如何知道更多信息?比如需要发送流的大小,编码,ip等。

这样就有了协议,协议就是规范,就是发送的流中携带了很多我们需要的内容。

今天,我不想去研究RCP,我想写个简单的demo,是基于TCP传输,其特点:面向连接,可靠的,建立通路后可以传输大数据量(其实UDP也可以传大数据量)

按照我们的面向对象的思想,既然TCP分为客户端和服务端,那么肯定就会存在代表这两端的对象,我们只要搞出这两个对象,调用其封装的方法,就可以实现我们想要的业务。

这里顺便提一句,我要感谢我的一位朋友,对我说的一句话:她说Java的简单在于它有着强大的library,c语言更贴近于硬件,更适合做系统编程。所以用Java,你不用去考虑太多的底层,让你有更多的精力去研究其业务。(其实Java虽然有着其强大的JVM,但是也会出现内存泄露,内容我知道的一处在Map存储那一块,我喜欢的老师张孝祥的视频中有提到过)

一会我要用到本机的ip,本来我想去查一下视频,结果API文档在我手中,我想自己去尝试着写一下:此处又用到了面向对象的思想,看来要好好的学一下这个思想,在Java里太重要了。我既然想获得我本机的ip,肯定有一个对象来封装了,找到该对象,去点里面的方法。抱着这个态度去查阅文档(30多M,昨晚下了一夜哈哈…)发现java.net.InetAddress这个类里面没有构造方法,根据工厂设计模式的思想,肯定有一个静态方法来获取这个对象



我很意外,哈哈蛤,一下子就得到了ip,很开心嘿嘿

好了,不啰嗦太多,直接上代码:

客户端代码:



服务端代码:



由于时间原因,先学到这里吧。

说明一下:本人在北京,一名Java小菜鸟,本文按照自己的习惯写的,不喜勿喷,欢迎欢迎交流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket 服务器 通讯