Java socket通信基本原理介绍

开发 后端
Java socket通信在不断的进行相关代码的开发,下面我们就看看如何才能更好的使用有关技术为我们的编程工作带来一定的帮助。

Java socket通信在Java语言中是一个使用很广泛的工具,下面我们就来仔细的学习下有关的方法。这对大家在以后的使用中有所帮助,只有不断的学习才能更好的使用。

所谓Java socket通信通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端, Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说, 套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过 SocketImpl类及其子类完成的。#t#

重要的Socket API:

java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。

getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例。

getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。

注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。

如何开发一个Server-Client模型的程序

Java socket通信开发原理:

服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。

客户端,使用Java socket通信对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。
 

责任编辑:张浩 来源: 互联网
相关推荐

2011-07-07 14:10:21

Cocoa 内省 hash

2012-01-12 14:37:34

jQuery

2009-02-24 09:43:00

IP电话原理

2011-11-29 12:17:00

2011-07-07 13:30:32

Cocoa Core

2013-04-07 14:09:55

Android应用基本

2016-08-18 00:04:09

网络爬虫抓取系统服务器

2010-08-20 13:29:33

OFDM

2019-11-28 10:45:28

ZooKeeper源码分布式

2020-03-21 14:57:14

手机定位智能手机APP

2016-08-17 23:53:29

网络爬虫抓取系统

2021-02-08 21:40:04

SockmapBPF存储

2020-12-29 16:55:44

ZooKeeper运维数据结构

2009-06-11 09:56:09

MySQL Repli原理

2011-07-07 14:46:10

Cocoa Xcode

2010-03-17 13:35:02

2010-06-18 17:28:37

Linux Anacr

2019-04-30 08:15:31

2010-01-07 09:53:09

Winform多线程编

2012-09-28 10:12:55

点赞
收藏

51CTO技术栈公众号