- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方法名 功能说明 void close() 关闭Socket连接 InetAddress getInetAddress() 获取当前连接的远程主机的Internet地址 InputStream getInputStream() 获取Socket对应的输入流 InetAddress getLocalAddress() 获取本地主机的Internet地址 int getLocalPort() 获取本地连接的端口号 OutputStream getOutputStream() 获取该Socket的输出流 int getPort() 获取远程主机端口号 void shutdownInput() 关闭输入流 void shutdownOutput() 关闭输出流 Socket类的主要方法 2. ServerSocket类 ServerSocket类用在服务器端,用来监听所有来自指定端口的连接,并为每个新的连接创建一个Socket对象。之后客户端便可以与服务器端开始通信了。 ServerSocket类的几个构造方法如下: ServerSocket(int port): 在指定端口上创建一个ServerSocket类对象。 ServerSocket(int port, int backlog): 在指定端口上创建一个ServerSocket类对象,并进入监听状态,第二个int类型的参数backlog是服务器忙时保持连接请求的等待客户数量。 ServerSocket(int port, int backlog, InetAddress bindAddr) 使用指定的端口和和要绑定到的服务器 IP 地址创建一个ServerSocket类对象,并进入监听状态。 例如: Socket client = new Socket(127.0.01., 80); ServerSocket server = new ServerSocket(80,100); 如果运行时无法绑定到 80 端口, 以上代码会抛出 IOException, 更确切地说, 是抛出 BindException, 它是 IOException 的子类。 BindException 一般是由于端口已经被其他服务器进程占用或者在某些操作系统中, 如果没有以超级用户的身份来运行服务器程序, 那么操作系统不允许服务器绑定到 1?1023 之间的端口。因此需要进行异常捕获。 ServerSocket类的主要方法 方法名 功能说明 Socket accept() 接收该连接并返回该连接的Socket对象 void close() 关闭此服务器的Socket InetAddress getInetAddress() 获取该服务器Socket所绑定的地址 int getLocalPort() 获取该服务器Socket所侦听的端口号 int getSoTimeout() 获取连接的超时数 void setSoTimeout(int timeout) 设置连接的超时数,参数表示 ServerSocket 的 accept() 方法等待客户连接的超时时间。如果参数值为 0 , 表示永远不会超时,进入阻塞状态 这也是它的默认值 首先,在服务器端构造一个ServerSocket类,在指定端口上进行监听,这时服务器的线程处于等待状态。然后在用户端构造Socket类,与服务器上的指定端口进行连接。服务器监听到连接请求后,就可在两者之间建立连接。连接建立之后,还必须进行输入、输出流的连接才能开始进行通信。通信的一般步骤如下: (1)创建服务器ServerSocket,设置建立连接的port。 (2)创建客户端Socket,设置绑定的主机名称或IP地址,指定连接端口号。 (3)客户端Socket发起连接请求。 (4)建立连接(accept)。 (5)获取相应的InputStream和OutputStream。 (6)利用InputStream和OutputStream进行数据通信。 9.3.2 实现Socket通信 从上述程序中可以看到,当创建ServerSocket对象时,需要的只是一个端口号和IP地址。如果服务器就设定在本地,则不需要IP地址。调用accept()方法时,服务器端进阻塞状态,等待客户端的请求,直到有一个客户启动并请求连接到相应的服务器端口。 在通信时,由Socket对象可以得到与之相关联的一个网络输入流和网络输出流。如果一个进程要通过网络向另一个进程发送数据,只需要写入与socket相关联的输出流。同样,如果一个进程要读取另一个进程发送过来的数据,则可以从与socket相关联的输入流中读取。 目 录 9.1 网络
文档评论(0)