当前位置: 首页 > 图文教程 > Java技术 > Java Web开发 > 浅谈网络协议中Socket类

Java Web开发
浅谈http的无状态性
JFreeChart常用函数
为什么主流Java MVC框架如此难以使用
软件工程
JavaScript 中IE与FireFox不同之处
关于javascript 的贪婪与非贪婪模式
abstract class和interface的区别
java 写的一个蜘蛛程序
javascript 基本用法简介
java web开发中构建SOAP服务
用java匿名类来简化调试
Java Web开发构想
Java Web 开发的配置详解
WEB开发中的JAVA字符编码经验总结
孙鑫老师原创:Struts 2初体验
Hibernate常见的20个问题
关于Xdoclet生成hibernate映射文件
JAVA四种基本排序
提高Java代码可重用性的三个措施
孙鑫老师原创:XML Schema初窥(一)

Java Web开发 中的 浅谈网络协议中Socket类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-23   浏览: 254 ::
收藏到网摘: n/a

Socket表现了客户端套接字,它是属于一台或两台计算机的两个TCP通讯端口之间的通讯通道。端口可以连接到本地系统的另一个端口,这样可以避免使用另一台计算机,但是大多数网络软件将使用两台计算机。但是TCP套接字不能与两台以上的计算机通讯。如果需要这种功能,客户端应用程序必须建立多个套接字连接,每台计算机一个套接字。

 

  构造函数

 

  java.net.Socket类有几个构造函数。其中两个构造函数允许使用布尔型参数指定是否使用UDPTCP套接字,我们不赞成使用它们。这儿没有使用这两个构造函数,并且没有列举在此处--如果需要UDP功能,请使用DatagramSocket

 

try

{

// 连接到指定的主机和端口

Socket mySocket = new Socket ( "www.awl.com", 80);

 

// ......

}

catch (Exception e)

{

System.err.println ("Err - " + e);

}

 

  但是还有很多构造函数可以用于不同的情形。除非特别指出,所有的构造函数都是公共的。

 

  · protected Socket ()-使用当前套接字产生组件提供的默认实现建立不连接的套接字。开发者一般不应该使用这个方法,因为它不允许指定主机名称和端口。

 

  · Socket (InetAddress address, int port)产生 java.io.IOException异常。

 

  · java.lang.SecurityException-建立连接到指定的IP地址和端口的套接字。如果不能建立连接,或连接到主机违反了安全性约束条件(例如某个小的服务程序试图连接到某台计算机而不是载入它的计算机时),就产生这种异常。

 

  · Socket (InetAddress address, int port, InetAddress localAddress, int localPort)产生java.io.IOExceptionjava.lang.SecurityException异常-建立连接到指定的地址和端口的套接字,并把它绑定到特定的本地地址和本地端口。默认情况下,使用一个自由(空)的端口,但是在多地址主机环境(例如本地主机有两个或多个的计算机)中,该方法也允许你指定一个特定的端口号、地址。

 

  · protected Socket (SocketImpl implementation)--使用特定的套接字的实现(implementation)建立未连接的套接字。通常情况下开发者不应该使用这个方法,因为它允许指定主机名称和端口。

 

  · Socket (String host, int port)产生java.net.UnknownHostExceptionjava.io.IOExceptionjava.lang.SecurityException异常--建立连接到特定主机和端口的套接字。这个方法允许指定一个字符串而不是一个InetAddress。如果指定的主机名称不能够解析,就不能建立连接,如果违反了安全性约束条件就产生异常。

 

  · Socket (String host, int port, InetAddress localAddress, int localPort)产生java.net.UnknownHostExceptionjava.io.IOExceptionjava.lang.SecurityException异常--建立连接到特定主机和端口的套接字,并绑定到特定的本地端口和地址。它允许指定字符串形式的主机名称,而不是指定InetAddress实例,同时它允许指定一个将绑定的本地地址和端口。这些本地参数对于多地址主机(如果可以通过两个或更多IP地址访问的计算机)是有用的。如果主机名称不能解析,就不能建立连接,如果违反了安全性约束条件会产生异常。