JavaSocket对象原理的详细介绍

Java Socket对象需要我们大家详细的学习,相关的问题一直在困扰着我们。下面我们就看看如何才能更好的使用Java Socket对象。那么首先我们就从原理来看一看。

创新互联公司是一家以网络技术公司,为中小企业提供网站维护、成都网站建设、成都做网站、网站备案、服务器租用、域名申请、软件开发、小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站联系热线:028-86922220

这个设计原理非常类似于平时打电话进行通讯:#t#

(1)首先通讯双方各有一台电话机,在上述模型中就是Socket;

(2)通讯一方拔打电话,试图建立连接,在上述模型中就是客户端建立Java Socket对象;另一方随时监听有没有呼叫,当有呼叫到来时,摘机,在上述模型中就是在服务器端建立一个Java Socket对象,然后用其accept()方法监听客户端的连接请求,当有连接请求时accept方法返回客户端的Socket,于是双方就建立起连接;

(3)双方通话,过程中双方都可以说和听,在上述模型中,每个Socket可以利用输入输出流进行读和写两种操作;在电话中一方听到的是对方说出的,反之亦然;上述模型中,一方读出的也是对方写入的,而写入的则是对方要读出的

(4)挂断。

建立Socket通信模型

首先,在服务器端建立一个ServerSocket对象,用于监听客户端的连接请求:

 
 
 
  1. ServerSocket server;try{server=new ServerSocket(4321);}  
  2. catch(Exception e){System.out.println("Error:"+e);} 

在服务器端建立ServerSocket对象时必须进行异常处理,以便程序出错时及时作出响应。生成ServerSocket对象时必须选择一个端口注册,以和其它服务器程序分开,使互不干扰。应使用1024以上的端口进行通信,以免和常规通信发生端口冲突。

其次,在服务器端调用ServerSocket的accept()方法进行监听,等待其它程序的连接请求。在连接请求收到之前一直阻塞调用线程,当有一个连接请求时,返回请求连接的Java Socket对象:

 
 
 
  1. Socket socket;  
  2. try{socket=server.accept();}  
  3. catch(Exception e){System.out.println("Error:"+e);} 

当接到一个连接请求时,accept方法返回客户端的socket对象,于是连接成功。正常情况下,通过交换,由另外的线程去处理该连接,而server释放出来继续监听下一个连接请求。

最后,在客户端建立一个Java Socket对象,请求建立连接:

 
 
 
  1. Socket socket;  
  2. try{socket=new Socket("Server Nane",4321);}  
  3. catch(Exception e){System.out.println("Error:"+e);} 

在客户端建立Java Socket对象时也必须时行异常处理,主机名和端口号与连接的服务器名和提供该服务的服务程序的监听端口必须一致。

当前标题:JavaSocket对象原理的详细介绍
浏览地址:http://www.shufengxianlan.com/qtweb/news35/6535.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联