java socket有啥作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java socket有啥作用相关的知识,希望对你有一定的参考价值。

socket 用来写网络通讯程序的,简单来说在远程机器,和本地机器各建一个socket,然后进行连接通讯即可。
QQ什么的都网络通讯都是采用socket来写的。

有兴趣的话看看网络编程(非Web网络编程)方面的书
参考技术A socket是用于网络通信的,你想要跟别人联系都得通过socket占据端口来与别人通信,比如QQ的聊天,就是用socket来发送消息的 参考技术B 此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器之间的通信端点。

套接字的实际工作由 SocketImpl 类的实例执行。应用程序通过更改创建套接字实现的套接字工厂可以配置它自身,以创建适合本地防火墙的套接字。
参考技术C 网络通讯是java的强项,用TCP/IP协议可以方便的和网络上的其他程序互通消息,用java的Socket编程很方便 参考技术D 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
重要的Socket API:
java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。
. Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。
. getInputStream方法获得网络连接输入,同时返回一个InputStream对象实例,。
. getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。
注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。
编辑本段ServerSocket类例子
int PORT = 8888; // 侦听端口
// 创建ServerSocket
ServerSocket serverSocket = new ServerSocket(PORT);
// 开始循环
while (true)
// 等待连接
Socket socket = serverSocket.accept();
// 处理链接的线程类
ServerThread st = new ServerThread(socket);
// 启动线程处理
new Thread(st).start();

编辑本段客户端的例子
int PORT = 8888; // 侦听端口
// 建立连接
socket = new Socket(“127.0.0.1”, 8888);
// 输入数据的读取
BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 写入数据
PrintWriter netOut = new PrintWriter(socket.getOutputStream());

java有啥作用

java有什么作用

Java 是一种编程语言,它本身的作用是通过编写应用程序
帮助人们解决日常工作、生活和学习遇到的问题

下面摘录的是“什么是Java"
或许对你的问题有所帮助
http://detail.zol.com.cn/product_param/index1777.html
Java是由Sun微系统公司所发展出来的程序语言,它本身是一种对象导向(Object-Oriented)的程序语言。JAVA目前在手机上应用最多的就是JAVA游戏。

Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的码,而是产生一种中间码叫作 ByteCode,这种码必需在透过 Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,故与 Java程序是在那种平台上被编译的,就完全没有干系了。Java写出来的程序可分为两类,分别是Java Applet与一般的Application,而Application 这一类就与一般的程序如C++的作用是比较类似的,是一个独立可执行的应用程序,像HotJava是一个浏览器,且就是使用Java程序所发展出来的。最常见的Java程序包括应用程序和applets。应用程序是单独的程序,诸如HotJava浏览器软件就是用Java语言编写的。 Applets类似于应用程序,但是它们不能单独运行, Applets可以在支持Java的浏览器中运行。Applet主要是内置于HTML网页中,在浏览时发挥作用。

Java的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。利用Java程序语言,可以在网页中加入各式各样的动态效果。可以放上一段动画,加入声音,也可以建立交互式网页等。

Java手机软件平台

Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为“无线Java”技术。此前,有人把它叫做“K-Java”;其实,K-Java的叫法只是Sun公司在开发 KVM Java虚拟机时的项目代号,在该技术被正式命名为KVM后,就不再用K-Java了。

KJava即J2ME(Java 2 Micro Edition),是Sun公司专门用于嵌入式设备的Java软件。以KJava编程语言为手机开发应用程序,可以为手机用户提供游戏、个人信息处理、电子地图、股票等服务程序。J2ME(Java 2 Micro Edition)是致力于消费产品和嵌入式设备的最佳解决方案。J2ME在设计其规格的时候,遵循着“对于各种不同的装置而造出一个单一的开发系统是没有意义的事”这个基本原则。于是J2ME先将所有的嵌入式装置大体上区分为两种:一种是运算功能有限、电力供应也有限的嵌入式装置(比方说PDA、手机);另外一种是运算能力相对较佳、并且在电力供应上相对比较充足的嵌入式装置(比方说冷气机、电冰箱)。因为这两种区分,所以Java引入了一个叫做 Configuration的概念,然后把上述运算功能有限、电力有限的嵌入式装置定义在Connected Limited Device Configuration(CLDC)规格之中;而另外一种装置则规范为Connected Device Configuration(CDC)规格。也就是说,J2ME先把所有的嵌入式装置利用Configuration的概念区隔成两种抽象的型态。

Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,即“编写一次,到处运行”的特点,使Java技术成为智能手机软件平台的事实标准。采用Java技术后,编写应用程序和提供服务的人就不必关心接受其服务的手机采用的是什么操作系统和芯片,只要按照Java的要求去写程序就好了;同样,生产手机的厂商也不必顾虑将来谁来提供增值服务。可以看出,采用Java技术,可以建立完整、高效的无线数据增值服务产业链,从而为用户提供灵活、个性化、内容方式多样的服务。

Java手机发展现状

到今年6月,全世界已经有大约1亿部Java手机在使用,除中国大陆外共有53个移动运行商正式推出了基于Java技术的无线数据增值服务。中国移动通信集团已经建立了无线Java增值服务体系,并推出了“百宝箱”等服务品牌,包括游戏百宝箱、娱乐百宝箱、商务百宝箱、生活百宝箱等,已经于2003年7月 10日开始正式商用。

中国联通公司也正在其CDMA 1X网络上建立无线Java增值服务体系,目前系统正在建设过程中,并且2003年9月26日中国联通、北京振戎融通公司和Sun公司在人民大会堂宣布联合发起成立“UniJa技术联盟”,三方将在联通CDMA 1X网络上的Java增值服务方面全面合作。
参考技术A

    JAVA是一个扩展程序,以便于以后对你的电脑配置进行更新和升级,有了它就可以时时更新最新的软件,运用新的功能,不回出现不兼容或无法扩展的情况 
    简言之,Java环境可用来开发能在任何计算平台上运行的应用软件。它实际上是一种非常基本且结构紧凑的技术,而它对WorldWide Web以及商业的总体影响已可同电子表格对PC机的影响相比拟。 

    Java已用动态的交互应用软件使Web栩栩如生。它使开发人员具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和应用软件到处可存取。

    Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言??所有内部采用芯片的产品都应能一起工作,无缝而方便地共享信息。它已经改变企业和个人同Internet大交道的方式。现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。 

    借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。 

全世界的公司都已发现Java数不胜数的用途。所有用途可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益非浅,而且节省的时间和费用十分可观。

参考技术B java可以用来做游戏,可以开发app,可以做网站,可以应用到服务器程序等等,java可以说已经广泛到很多领域,与我们日常生活都息息相关,我当初第一次接触java是因为手机上的java游戏,当时很好奇java是什么东西,长大后才知道是一种编程语言。大学一直在自学java,基础的时候学的还不错,到后面就遇到瓶颈了,怎么看视频看教程都不管用,也想过去培训机构,但一来钱不够,二来也瞧不上那些机构。后来在知乎上看到说动力节点不错,我先看看了学校视频教程,首先在风格上就很吸引我,很多知识点一点就透,看了有种醍醐灌顶的感觉,我又跟老学员聊了一个多月,中间去过学校考察过好几次,都是偷偷的;最后赶在学校一个报名活动的时候报了名。 参考技术C 简单的说,电脑里面如果安装了Java(虚拟机)就可以让你运行基于Java的程序,但是基本来说吧,作为国内标准类型用户的你遇到Java程序的概率,呃,有百分之五就是夸大了。所以,基本来说,没啥用途,这是事实上的情况。

我能想到的唯一的普通个人用户使用到Java的情况是,呃,高考报志愿的那个系统有要用户装有Java。就是今年09年的高考,它的系统有两种填报志愿的方式,其中一种就是使用Java的JNLP来实现的,这要求你的电脑装有Java。但是,你还是可以不用这种方式来填报志愿,也就是改用基于WEB的方式来实现,也就是说你没装Java也没有影响。
参考技术D Java 是一种编程语言,它本身的作用是通过编写应用程序
帮助人们解决日常工作、生活和学习遇到的问题

以上是关于java socket有啥作用的主要内容,如果未能解决你的问题,请参考以下文章

java 数据流关闭后 对应的Socket也会自动关闭吗? 请问有啥方法能不关闭Socket!

Java:这两种设置Socket超时时间的方法有啥不同吗?

java 数据流关闭后 对应的Socket也会自动关闭吗? 请问有啥方法能不关闭Socket!

WebSockets 和 Socket.io 有啥区别?

tomcat是啥,java为啥要用tomcat java有没有Socket 用tomcat有啥好处,为啥java程序要放到tomcat

SOCKET与TCP,UDP有啥关系?