JAVAEE初阶 网络编程(三)

TCP回显服务器

    • 一. TCP的API
    • 二. TCP回显服务器的代码分析
    • 三. TCP回显服务器代码中存在的问题
    • 四. TCP回显服务器代码
    • 五. TCP客户端的代码
    • 六.TCP为基准的回显服务器的执行流程

一. TCP的API

在这里插入图片描述
JAVAEE初阶 网络编程(三)_第1张图片
在这里插入图片描述
JAVAEE初阶 网络编程(三)_第2张图片

二. TCP回显服务器的代码分析

JAVAEE初阶 网络编程(三)_第3张图片
JAVAEE初阶 网络编程(三)_第4张图片
JAVAEE初阶 网络编程(三)_第5张图片

这的clientSocket并不是表示用户端的层面东西,而是一个置业顾问,每个客户端都会分配一个。

JAVAEE初阶 网络编程(三)_第6张图片
JAVAEE初阶 网络编程(三)_第7张图片

三. TCP回显服务器代码中存在的问题

JAVAEE初阶 网络编程(三)_第8张图片JAVAEE初阶 网络编程(三)_第9张图片

客户端这边发出了一个Hello请求,相应的应该在服务器这边也会有一个对应的Hello,但是事实上并没有,那是为什么呢?
之所以出现上述情况,是因为printWriter的缓冲区在作祟。
这个缓冲区,是将一些要写入网卡的数据存到内存缓冲区中,等到数据量攒到一定程度时,再一次性的发送。但是数据比较少的时候,就出现了那种没有真正发送出去的情况。

JAVAEE初阶 网络编程(三)_第10张图片在这里插入图片描述

四. TCP回显服务器代码

JAVAEE初阶 网络编程(三)_第11张图片

五. TCP客户端的代码

JAVAEE初阶 网络编程(三)_第12张图片

六.TCP为基准的回显服务器的执行流程

JAVAEE初阶 网络编程(三)_第13张图片JAVAEE初阶 网络编程(三)_第14张图片JAVAEE初阶 网络编程(三)_第15张图片JAVAEE初阶 网络编程(三)_第16张图片

你可能感兴趣的:(网络,服务器,linux)