知识大全 使用ServletSocket创建TCP服务器端

Posted 实体

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用ServletSocket创建TCP服务器端相关的知识,希望对你有一定的参考价值。

疯狂Java讲义:使用ServletSocket创建TCP服务器端  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   使用ServletSocket创建TCP服务器端

  从图 中看上去TCP通信的两个通信实体之间并没有服务器端 客户端之分 但那是两个通信实体已经建立虚拟链路之后的示意图 在两个通信实体没有建立虚拟链路之前 必须有一个通信实体先做出 主动姿态 主动接收来自其他通信实体的连接请求

  Java中能接受其他通信实体连接请求的类是ServerSocket ServerSocket对象用于监听来自客户端的Socket连接 如果没有连接 它将一直处于等待状态 ServerSocket包含一个监听来自客户端连接请求的方法

  Socket accept() 如果接收到一个客户端Socket的连接请求 该方法将返回一个与客户端Socket对应的Socket(如图 所示每个TCP连接有两个Socket) 否则该方法将一直处于等待状态 线程也被阻塞

  为了创建ServerSocket对象 ServerSocket类提供了如下几个构造器

  ServerSocket(int port) 用指定的端口port来创建一个ServerSocket 该端口应该是有一个有效的端口整数值 ~

  ServerSocket(int port int backlog) 增加一个用来改变连接队列长度的参数backlog

  ServerSocket(int port int backlog InetAddress localAddr) 在机器存在多个 IP地址的情况下 允许通过localAddr这个参数来指定将ServerSocket绑定到指定的IP地址

  当ServerSocket使用完毕 应使用ServerSocket的close()方法来关闭该ServerSocket 通常情况下 服务器不应该只接受一个客户端请求 而应该不断地接受来自客户端的所有请求 所以Java程序通常会通过循环 不断地调用ServerSocket的accept()方法 如下代码片段所示

  //创建一个ServerSocket 用于监听客户端Socket的连接请求

  ServerSocket ss = new ServerSocket( )

  //采用循环不断接受来自客户端的请求

  while (true)

  

  //每当接受到客户端Socket的请求 服务器端也对应产生一个Socket

  Socket s = ss accept()

  //下面就可以使用Socket进行通信了

  …

  

  上面程序中创建ServerSocket没有指定IP地址 则该ServerSocket将会绑定到本机默认的IP地址 程序中使用 作为该ServerSocket的端口号 通常推荐使用 以上的端口 主要是为了避免与其他应用程序的通用端口冲突

       返回目录 疯狂Java讲义

       编辑推荐

       Java程序性能优化 让你的Java程序更快 更稳定

       新手学Java 编程

cha138/Article/program/Java/hx/201311/27266

相关参考

知识大全 电脑重装系统后网上邻居没了,怎么创建一个网上邻居…

电脑重装系统后网上邻居没了,怎么创建一个网上邻居…1.首先我的电脑——属性——计算机名——更改工作机组(MSHOME)都换成一样的2.查看本地连接——TCP/IP——协议——添加IPX协议(最长的那个

知识大全 WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理

WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜

知识大全 修改Tomcat服务器的端口号

修改Tomcat服务器的端口号  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本实例主要介绍修改

知识大全 ASP.NET2.0服务器控件之创建复杂属性

ASP.NET2.0服务器控件之创建复杂属性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  页面

知识大全 ASP.NET在服务器端控制网页

ASP.NET在服务器端控制网页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用Net和C#开发

知识大全 Java 文件分块上传服务器端源代码

Java文件分块上传服务器端源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  直接上代码接收

知识大全 用ICallbackEventHandler实现客户端与服务器端异步

用ICallbackEventHandler实现客户端与服务器端异步  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快

知识大全 请正确认识MySQL对服务器端光标的限制

请正确认识MySQL对服务器端光标的限制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  从MyS

知识大全 jQuery DataTables插件从服务器端获取数据的方法

jQueryDataTables插件从服务器端获取数据的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 ASP.NET创建Web服务之管理Web服务状态

ASP.NET创建Web服务之管理Web服务状态  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!