疯狂java讲义:使用servletsocket创建tcp服务器端

author author     2023-04-17     459

关键词:

参考技术A

   使用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 编程

lishixinzhi/Article/program/Java/hx/201311/27266

《疯狂java讲义》2-理解面向对象

总结1、结构化程序设计  按功能来分析系统需求:自顶向下,逐步求精,模块化等  结构化分析(StructuredAnalysis)->结构化设计(SD)->结构化编程(SP)  面向功能,面向数据流,最小单元是函数  三种基本结构:... 查看详情

疯狂java讲义-读书笔记1.5第一个java程序

1.5.1编辑Java源代码使用任何无格式的文本编辑器 1.5.2编译Java程序编译命令:javac-ddestdirsrcFile一个源文件里定义了多个类,将编译生成多个字节码文件。配置SublimeText3环境  http://blog.csdn.net/wolinxuebin/article/details/41049551#&n... 查看详情

学在前面——《疯狂java讲义》学习笔记

...的~~  于是看了各种JAVA从入门到精通的帖子,选中了《疯狂JAVA讲义》这本书,尽管书有点老了,但是感觉 查看详情

《疯狂java讲义》4-流程控制与数组

总结1、流程控制  和C++类似。  switch用的较少,留意一下:Java7后expression还可以是字符串类型。  switch与if不同,起始点非常清晰,故每个case的花括号可以省略。  break不能少,否则一旦匹配则不再判断之后,都会输出... 查看详情

java开发实战!java编程思想和java疯狂讲义

一、不少培训班候选人的简历中,缺乏足够的商业项目年限不少同学会有这样得感受:投出去不少简历,但就没有面试机会,对培训班出身的朋友来说,可能这种情况更甚,原因是,这些简历没过筛选... 查看详情

疯狂创客圈java死磕系列总目录

无编程不创客,无案例不学习。疯狂创客圈,一大波高手正在交流、学习中!疯狂创客圈Java死磕系列:【CSDN总入口】【博客园总入口】JAVANIO 死磕系列:NIO简介、NIO Buffer、NIOchannel、NIOSelectorreactor模式死磕系列:Reactor模式... 查看详情

delphi数据库疯狂讲义001

大家喜欢的加我QQ271118321  查看详情

读《疯狂ajax讲义》重点

1.XMLHttpRequest()请求的写法(p62)  一个类XMLHttp因该包含的接口:[1] XMLHttp.sendRequest("POST",URL,data,callback); [2]XMLHttp.sendRequestComp("POST",URL,data,callback);[3]XMLHttp.sendRequestAjax("POST",URL, 查看详情

《小强软件测试疯狂讲义-性能及自动化》一书正式发布

...com,京东,当当,天猫等网店购买,搜索“小强软件测试疯狂讲义”关键字即可查找并购买了哦! 出版社官方天猫购买地址(推荐):https://detail.tmall.com/item.htm?id=547310727717当当购买地址:http://product.dangdang.com/24239858.htm 查看详情

《疯狂workflow讲义(activiti6.x)》教学视频

        大家好,工作流引擎Activiti6的教学视频目前正在录制中,大部分视频会免费提供,大家可以关注我的公众号获取,更新进度请留意公众号信息。      视频目录:  ... 查看详情

疯狂workflow讲义——基于activiti的工作流应用开pdf下载

《疯狂Workflow讲义——基于Activiti的工作流应用开》一:文档获取下载方式:1:花20CSDN积分:可以下载:http://download.csdn.net/download/ytfrdfiw/97898162:脚本之家:http://www.jb51.net/books/532614.html3:申请加入此QQ群即可获取下载  &nb... 查看详情

小强软件测试疯狂讲义-性能及自动化

乌拉拉~4月1日左右应该就可以在各大网上书店购买到了哦,小伙伴在等等,现在放出高清无码照~购买地址:暂时没有。。。有了我就放出来650)this.width=650;"src="https://s2.51cto.com/wyfs02/M01/8F/12/wKioL1jTL-3zTfByAANhU-gN2Do406.jpg"title="C-01_conew1... 查看详情

性能测试分层模型-选自书籍:小强软件测试疯狂讲义

百度搜索:小强测试品牌新书推荐本书终于在前段时间出版了,现在已经可以在各大网店购买了,搜索书名即可。书籍购买地址:https://detail.tmall.com/item.htm?id=547310727717这里我特别提前说一句:任何东西都有一定的受众群体,世... 查看详情

性能测试分层模型-选自书籍:小强软件测试疯狂讲义

新书推荐本书终于在前段时间出版了,现在已经可以在各大网店购买了,搜索书名即可。书籍购买地址:https://detail.tmall.com/item.htm?id=547310727717这里我特别提前说一句:任何东西都有一定的受众群体,世界上也没有任何东西可以... 查看详情

android开发的学习路线大概是怎样的?

...频就行,他讲的特别好,尤其是堆栈内存那一块。然后学疯狂java讲义,不需要都学,学前十章就行,不建议初学者学java编程思想,比较难懂,不适合入门。(时间2-3个月)第二步:书籍  入手的第一本书就是android疯狂讲... 查看详情

疯狂讲义activiti6.x工作流进阶与项目实战,activiti整合drools

01Activiti介绍与搭建开发环境 02运行官方例子03编写第一个Activiti程序 04流程引擎配置与服务组件05Activiti数据库介绍06API(1)Activiti数据查询07API(2)流程文件部署08API(3)流程定义09API(4)任务操作10API(5)任务参数与附... 查看详情

第100次提醒:++不是线程安全的(代码片段)

...:并发的自增运算++运算的原理Java的原子操作类写在最后疯狂创客圈Java死磕系列疯狂创客圈Java分布式聊天室【亿级流量】实战系列之-17【博客园总入口】源码IDEA工程获取链接:Java聊天室实战源码写在前面?大家好,我是作者尼... 查看详情

feign-http接口调用-单独使用-实战(代码片段)

...申明远程接口的本地代理1.1.3.远程API的本地调用写在最后疯狂创客圈亿级流量高并发IM学习实战疯狂创客圈Java分布式聊天室【亿级流量】实战系列之-26【博客园总入口】写在前面?大家好,我是作者尼恩。目前和几个小伙伴一起... 查看详情