发表于: 2018-02-01 23:46:24
1 536
完成
1.讲小课堂:TCP三次握手(https://www.jianshu.com/p/4d8024c39b29)
三次握手:
第一次:A “喂,你听得到吗?”(A发出请求)
第二次:B “我听得到呀,你听得到我吗?”(B收到请求并作出回应)
第三次:A “我能听到你,今天balabala…”( A收到回应,开始向B发送信息)
A知道自己的收信机正常 | 2 | B知道自己的收信机正常 | 1 |
A知道自己的发信机正常 | 2 | B知道自己的发信机正常 | 3 |
A知道B的收信机正常 | 2 | B知道A的收信机正常 | 1 |
A知道B的发信机正常 | 2 | B知道A的发信机正常 | 3 |

第一次:A “我挂电话啦”(A进入FIN_WAIT_1)
第二次:B "收到"(B进入CLOSE_WAIT,A收到回应进入FIN_WAIT_2)
第三次:B “挂了吧”(B进入LAST_ACK,A收到信息进入TIME_WAIT)
第四次:A “好”(B收到A的ACK报文段以后,就关闭连接;此时,A等待2MSL后依然没有收到回复(A怕报文丢失,B收不到),则证明Server端已正常关闭,那好,A也可以关闭连接了。)

2.看了一会AJax,虽然任务二没有要求且属于前段知识,但师兄还是推荐看的
ajax主要是实现页面和web服务器之间数据的异步传输。举个简单例子,不采用ajax的页面,当用户在页面发起请求时,就要进行整个页面的刷新,刷新快慢取决于服务器的处理快慢。在这个过程中用户必须得等待,不能进行其他操作。也就是同步的方式。客户端和服务端传递了很多不需要的数据。效率低,用户体验差。采用ajax的页面,可以实现页面的局部更新,而不是整个页面的更新;并且发起请求后,用户还可以进行页面上的其他操作。这就是异步的方式。客户端和服务端间只传递需要的数据,效率高,用户体验性好。
效果就是:页面有判断弹框,弹框就是效果。
问题
logger.info(),打不出日志到控制台,最后改了log4j配置文件,解决了。顺道复习了一下日志日志文件
### 设置###
log4j.rootLogger = info,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
收获
TCP相关知识;ajax初探;log4j复习
计划
学习Ajax,跑通一个demo,把任务2过了
评论