12 2016 档案

摘要:tcp基于字节流,无边界 接收方不能保证一次是整个消息 产生粘包udp传输数据包,有边界 协议流与粘包 一、粘包问题可以用下图来表示: 假设主机A send了两条消息M1和M2给主机B,由于主机B一次接收的字节数是不确定的,接收方收到数据的情况可能是: 1.第一次读M1的全部,第二次读M2 的全部2 阅读全文
posted @ 2016-12-19 19:57 ren_zhg1992 阅读(131) 评论(0) 推荐(0)
摘要:接下来,我们再来实现一个点对点聊天程序。 对等通信,双发都可以发送数据。A可以发数据给B,B也可以发数据给A,通过双方共同维护一个套接字来实现。A维护connA,B维护connB。但是有一个问题,A在接收B发过来的数据的时候(read的时候),他怎么去获得键盘上的输入呢?就我们现在的技术而言,我们只 阅读全文
posted @ 2016-12-10 10:42 ren_zhg1992 阅读(90) 评论(0) 推荐(0)
摘要:在上一节中,我们使用了REUSEADDR,解决了服务器重启不能立即使用的问题。这一节,我们来解决多个客户端连接服务器的问题。 首先分析一下,之前的服务器为什么不可以接收多个客户端的连接请求。 原因是:已有一个客户端连接后 ,服务器处于while中,没有机会来处理accept 解决方法:fork思路: 阅读全文
posted @ 2016-12-09 15:36 ren_zhg1992 阅读(116) 评论(0) 推荐(0)
摘要:本章目标 REUSEADDR 处理多客户连接(process-per-connection) 点对点聊天程序实现 1.回顾 服务器端通过套接字conn,客户端通过套接字sock,他们可以互相通信 可想而知,这两个套接字都有自己的地址。对于服务器来说,它的套接字地址是在绑定的时候确定的,对于客户端来说 阅读全文
posted @ 2016-12-09 15:29 ren_zhg1992 阅读(118) 评论(0) 推荐(0)
摘要:本章目标: 1.什么是socket 2. IPv4套接口地址结构 3 通用地址结构 4网路字节序: 对于异构系统: 举个栗子,测试一下本机是大端模式还是小端模式 输出: 78 56 34 12 5字节序转换函数 输出: 12 34 56 78 6地址转换函数 举个例子: 套接字类型: 阅读全文
posted @ 2016-12-07 11:03 ren_zhg1992 阅读(130) 评论(0) 推荐(0)
摘要:回射客户/服务器模型 举个栗子: 服务器端代码: 客户端代码: 客户端: renzhuang@geroge:~/netcoding/07socket$ ./01sock_client aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa //输入aaaaaaaaaaaaaaaaaaaaaaa 阅读全文
posted @ 2016-12-07 10:36 ren_zhg1992 阅读(123) 评论(0) 推荐(0)
摘要:转自: http://blog.csdn.NET/hguisu/article/details/7445768/ 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相 阅读全文
posted @ 2016-12-07 10:25 ren_zhg1992 阅读(383) 评论(0) 推荐(0)