夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> Java_Jsp_Jdk_eclipse_tomcat
Java socket功能的一个小应用
夜鹰教程网 来源:www.yyjcw.com 日期:2016-11-27 11:54:00
Java socket功能的一个小应用
'########################################################
'大风(XuanKong)
'下面所显示的代码生成的jar文件你可以在www.xuankong.com获得!
'#######################################################

 

Sun公司java语言的的推出可以说是一个划时代的语言革命,这种语言同时能适应应用软件领域和网络开发领域,其优秀的网络开发功能更是让人惊叹,利用java你可以轻松的实现在其他的语言中要花很多代码和时间才能实现的功能:你可以很轻松的用java开发一个同Windows的那个notebook一样的程序,甚至你可以朝开发word进军,你可以很轻松的实现网络通信,你可以在网络中展现漂亮的图像效果(这种效果你是使用gif.jpg以及flash始终做不到的),你可以使用java开发Webserver和中间件(参考www.apusic.com)实现负载均衡等功能;你也可以在开发你的邮件系统;可以生成功能非常强大的java组件运行于asp中,比vb、vc和Borland C++ builder开发相应的组件来的容易,而且功能也强大的多。java的种种精彩不是笔者可以在这里完全可以介绍完的,但是下面笔者给出的一段不超过20行的代码可以让你感觉到java这种语言的真正强大.。你如果能灵活的运用java,我相信,你一定可以做得比我更精彩!ok!let's begain!
本文利用Java的socket通信功能实现了下面两种作用:
1、可以查询internet中domain和ip的(具体的用法见后文);
2、可以在局域网中通过机器名查询相应的ip和通过ip查询相应的机器名;
原理:下面的代码使用socket利用了系统查询了相应的internet上的dns解析和局域网中dns解析来获得相应的数据资料;
//代码开始
/*
本代码只是提供测试,不提供完全的实际应用的功能,但是你可以利用下面的思路开发你自己的相应的程序,请注意本文提供的socket通信在internet上查询domain(或者ip)的功能不完全正确,因为本文使用的socket访问方式不是访问的相应的domain数据库,所以不能实现精确的domain(或者ip)的查询,但是一切在internet上能被访问到的domain(或者ip)都可以都可以被查询到相应的ip(或者domain),如果需要你也可以使用本文所提及socket访问相应的domain数据库得到完全正确的domain查询功能!在run下面的程序以前,请确定你已经安装了jdk1.3以及配置了相关的参数。
*/
import java.net.*;
class search
{
public static void main(String[] args)
{
try
{
InetAddress address=InetAddress.getByName(args[0]);
//获得你要查询的ip或者domain
System.out.println(address);
//输出查询结果
}
catch (Exception e)
{
//错误提示
System.out.println("对不起,你查询的站点或者IP未被程序找到,可能原因如下");
System.out.println("1,该站点尚未注册或者该站点尚未启用");
System.out.println("2.你没有连接到网络");
System.out.println("3.该ip地址可能已被DHCP解析,但是尚未指向相应的站点");
}
}
}
//代码结束
把上面的代码save为search.java
好了进入dos模式使用"javac search.java"编译search.java为search.class,然后,我们就可以开始使用我们的代码来测试了!
1。如果你要查询internet中domain,我们以www.sina.com为例你可以输入:"java search www.sina.com" 你可以得到下面的结果:"www.sina.com/206.204.114.57",返回给你的数据中就包含了www.sina.com的ip地址;如果你再输入:"java search 206.204.114.57"你返回的结果为"www.sina.com/206.204.114.57",同样返回的结果包含了sina的domain,但是需要注意的如果你的ip解析了多个domain的话可能不能准确的通过ip反查domain,而且有的站点为了访问的方便使用了不同的ip,即一个站点有几个ip,这样你返回的只是第一个ip地址,其他还有一些问题就留待你自己去发现了,前面说过本文只是给你提供一种思路;
2.在局域网中通过机器名反查ip:这点我相信是很有用的,嘿嘿,具体的使用方法和前面的差不多,但是你发现有了这个东西你可以很轻松的搞到任何人的相对应的机器名和ip地址,不要乱用哟!当然你也可以通过ip反查机器名;但是同样有点不是问题的问题:如果该机器不存在的话是不会报错的,而是以一种前后都是ip的形式返回结果,好了,其他的我也不多说了,你就慢慢的用吧!
上面给出的代码可能对于不习惯java的朋友来说不是很好操作,但是你可以把它改成applet在浏览器中运行!
本文介绍的java功能只是java网络功能部分中很小的一个部分,java强大的功能从本文提供的代码只可以体现很小很小的一个部分,如果你的E文够好,建议你多访问一下java.sun.com多学习一下java.!
备注:本人环境Win2000 professional+jdk1.3

复制链接 网友评论 收藏本文 关闭此页
上一条: 利用Java实现zip压缩/解压缩  下一条: 讨论J2EE建议的学习路线!
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
初学教程:Java Socket网络编程浅…
Java随机数总结
java读取文本文件内容并获取文件大…
字节流和字符流Java
java常用图片读写程序
怎样成为一个优秀的Java程序员
C++程序员转Java容易吗?难点在哪…
思科培训与华为培训在教材和内容方…
Java注释的使用和定义
使用 Java 实现 Comet 风格的 Web…
利用Java实现zip压缩/解压缩
Java Web三层架构的配置详解
Java Socket编程之我见
使用 Java 实现 Comet 风格的 Web…
两种J2ME网络编程的方法之一
  最近更新
short、int、long、float、double…
二进制(原码、反码、补码)
python时间模块详解
java 解决split分割空值不能得到的…
如何打开eclipse安卓开发代码提示…
php实现大文件断点续传功能
java实现断点续传功能
Windows Server 2016新功能
MyEclipse 8.5 汉化方法
jquery实现无刷新分页
什么是JSON?
什么是回调函数
jQuery 1.7下载
jquery加载XML文档
什么是MVC(三层架构)

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3