建立一个简单的服务器

通信的关键主要集中于客户/服务器关系的两端。客户请求执行某些操作时,通过客户端将请求发送给服务器,
服务器执行该操作,提供相关相应。一种通用的请求响应模型的实现在WWW浏览器和WWW服务器之间。当用户通过
浏览器(客户端)选择一个Web站点时,一个请求发送给相应的Web服务器,服务器在响应客户的请求时,通常发
送一个合适的HTML网页。
Java的java.net包中的类和接口提供了基于流套接字和数据报套接字的通信。基于流套接字的通信时应用程序
能够把网络互联是为I/O流,连接成功后,直接从连接对象得到输入输出流,程序从中读取数据如从文件中直接
读取一样。使用流套接字时,程序于另一进程建立连接,成功后,数据以连续流的形式在进程间发送。因此,
我们认为流套接字提供基于面向连接的服务,用于传输的协议就是常用的TCP(Transmission Control Protocol
,传输控制协议)。
数据报套接字则用于传输单独的数据包,通常在Internet上用来传输音频和视频。
用流套接字建立一个简单的服务器共包含五个步骤。第一步市创建一个ServerSocket对象,即调用ServerSocket
的构造函数:
ServerSocket server = new ServerSocket(port ,queueLength);
注册一个可用的端口,并指定能够等待连接到服务器的最多客户数目(即queueLength)。端口号是客户用来定位
服务器计算机上的对应的应用程序。如果队列(客户数)已满,则服务器拒绝客户的连接。
程序用一个Socket对象管理每个客户连接。接着第二步,程序调用SocketServer的方法accept,服务器无限期
监听客户连接企图:
Socket connection = server.accept(); 当与一个客户建立连接时,返回一个Socket对象。
第三步,获取输入输出流,服务器能够通过输入输出流发送接收字节,与客户进行通信。服务器Socket对象调用
getOutputStream()方法,得到OutputStream对象,调用他的write方法,就可以将消息以字节发送给客户。同样可以
得到InputStream,通过read方法读取客户发过来的消息。
第四步,处理阶段,客户和服务器通过输入输出流发送和接收的消息是以字节形式存在,在客户端和服务器端类中
编写方法以约定的规则对消息进行处理。
最后传输完成后,调用close方法关闭连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值