快速业务通道

Java网络编程之传输控制协议 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
的连接。当客户端试图连接的时候,它们被放入一个队列中。一旦这个队列中的 所有空间都被耗尽,其它的连接的就会被拒绝。

构造函数

建立服务器套接字的最简单的途径是绑定到某个本地地址,该地址作为使用 构造函数的唯一的参数。例如,为了在端口80(通常用于Web服务器程序)上提 供某个服务,将使用下面的代码片断:

try { // 绑定到80端口,提供TCP服务(类似与HTTP) ServerSocket myServer = new ServerSocket ( 80 ); // ...... } catch (IOException ioe) { System.err.println ("I/O error - " + ioe); }

这是ServerSocket构造函数的最简单的形式,但是下面有一些其它的允许更 多自定义的构造函数。所有这些函数都是公共的。

· ServerSocket(int port)产生java.io.IOException、 java.lang.SecurityException异常--把服务器套接字绑定到特定的端口号,这 样远程客户端才能定位TCP服务。如果传递进来的值为零(zero),就使用任何 空闲的端口--但是客户端可能没办法访问该服务,除非用什么方式通知了客户端 端口号是多少。在默认情况下,队列的大小设置为50,但是也提供了备用的构造 函数,它允许修改这个设置。如果端口已经被绑定了,或者安全性约束条件(例 如安全性规则或知名端口上的操作系统约束条件)阻挡了访问,就会产生异常。

· ServerSocket(int port, int numberOfClients)产生 java.io.IOException、java.lang.SecurityException异常--把服务器套接字绑 定到特定的端口号并为队列分配足够的空间用于支持特定数量的客户端套接字。 它是ServerSocket(int port)构造函数的重载版本,如果端口已经被绑定了或安 全性约束条件阻挡了访问,就产生异常。

· ServerSocket(int port, int numberOfClients, InetAddress address) 产生java.io.IOException、java.lang.SecurityException异常--把服务器套接 字绑定到特定的端口号,为队列分配足够的空间以支持特定数量的客户端套接字 。它是ServerSocket(int port, int numberOfClients)构造函数的重载版本, 在多地址计算机上,它允许服务器套接字绑定到某个特定的IP地址。例如,某台 计算机可能有两块网卡,或者使用虚拟IP地址把它配置成像几台计算机一样工作 的时候。如果地址的值为空(null),服务器套接字将在所有的本地地址上接受 请求。如果端口已经被绑定了或者安全性约束条件阻挡了访问,就产生异常。

2、使用ServerSocket

虽然Socket类几乎是通用的,并且有很多方法,但是Server Socket类没有太 多的方法,除了接受请求并作为模拟客户端和服务器之间连接的Socket对象的产 生组件就没有几个了。其中最重要的方法是accept()方法,它接受客户端连接请 求,但是还有其它几个开发者可能感到有用的方法。

Java网络编程之传输控制协议(9)

时间:2010-12-16 天极 陶刚

方法

如果没有注明的话该方法就是公共的。

· Socket accept()产生java.io.IOException、java.lang.Security异常-- 等待客户端向某个服务器套接字请求连接,并接受连接。它是一种阻塞 (blocking)I/O操作,并且不会返回,直到建立一个连接(除非设置了超时套 接字选项)。当连接建立时,它将作为Socket对象被返回。当接受连接的时候, 每个客户端请求都被默认的安全管理程序验证,这使得接受一定IP地址并阻塞其 它IP地址、产生异常成为可能。但是,服务器程序不必依赖安全管理程序阻塞或 终止连接--可以通过调用客户端套接字的getInetAddress()方法确定客户端的身 份。

· void close()产生java.io.IOException异常--关闭服务器套接字,取消 TCP端口的绑定,允许其它的服务使用该端口。

· InetAddress getInetAddress()--返回服务

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号