简单的Java Socket测试

先把代码贴出来:

/**tcps.java**/

/**tcpc.java**/

/**udps.java**/

/**udpc.java**/

看一下运行的结果:

socket1

在本地上运行,所有的地址都可以解析,唯一的遗憾就是没有办法抓到本地的包,否则可以看一下数据通信是什么样子的。另外一点就是现在的交换机好像都不支持IPv6协议,我在机房的一台linux上连接本地Win7上的服务,用v6地址时提示无法到达的路由。

上面代码的基本结构来自于孙鑫老师的Java课程,里面有些内容比较过时了(课程是基于JDK1.4版本的),所以后面又找了一些Java资料,重新改写了InputStream和OutputStream的一些内容,否则在使用JDK7的javac编译时会提示使用了一些废弃的接口==提示。

总之,用Java测试socket还是比较简单的,相比C下面的就容易多了,而且不用考虑IPv4和IPv6等复杂的地址关系,Java可以同时处理这两种类型的地址协议,只需要getHostByName()就可以自动赋值v4或者v6地址,而且ServerSocket会自动绑定本地所有的v4和v6的地址,很方便于使用。我这也是现学现卖(看变量名就知道了),连Java的基础数据结构和语法还都没有记清楚,只能做几个小例子自娱自乐一下,过两天把C的socket测试例子修改修改,也发上来对比一下。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据