首页 > 编程知识 正文

社会实践应注意的安全事项,java基础入门黑马程序员第二版答案

时间:2023-05-04 04:33:11 阅读:114390 作者:1887

不要把网络编程和业务逻辑混淆起来。 注意TCP连接断开的时间和条件。

因此,在设计APP应用层时,必须考虑TCP断开时的设计。

(注意:如果关闭太早,协议栈可能会被RST分解,连接可能会重置,数据接收可能会不完整。 SO_LINGER选项可用于块IO,但不能用于非块IO )

参考: 《Windows网络编程 5.6.4顺序释放连接》

在服务器APP应用程序读取其馀数据之前,服务器主机崩溃,导致数据丢失,但客户对此一无所知。

对于面向连接的流套接字,选项SO_LINGER和SO_DONTLINGER的设置决定了调用closesocket ) )时closesocket )的操作过程。 这两个选项更改了需要在用户进程和内核之间传递linger结构的closesocket ) )的默认设置(closesocket ) ),并且在调用时,仍在队列中的数据将返回套接字) TCP以字节流形式确保字节顺序到达,不保留消息边界。

在APP应用层,必须设计用于实现TCP分包的逻辑(将字节流划分为消息),以避免直接发送到语言中的结构类型。 理由有两个。

1 )为了考虑配准,修改了全局配准方式(http://www.Sina.com/() packed ) ),破坏了abi,导致了第三方库coredump

2 )可扩展性强,添加字段后,客户端和服务端都需要升级。 TCP自连接问题。

当客户端开始连接到本地服务端时,在某些情况下可能会发生自连接。 本地主机: 54321 -本地主机: 54321参考:自连接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。