![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
victorika
这个作者很懒,什么都没留下…
展开
-
MIT6.824 Lab 1: MapReduce
mit的分布式实验。第一个实验就是实现google MapReduce论文的简单版本,基于课程要求,我的代码就不公开了(本身也不会go,边写边查资料的,临时磨枪上阵,代码写得太烂)。 直接我的思路。 流程 分为两个部分,master和worker。 master: 3个协程,(注意go的协程是可以在不同的线程的,所以写共享数据的时候要上锁) 1.RPC服务器。提供两个rpc接口GetTask和markTaskFinish,用于获取任务和标记任务完成。 2.任务状态检查,检查所有任务是否完.原创 2020-11-22 19:32:29 · 339 阅读 · 0 评论 -
网络编程的一些小细节(不定时补充)
socket在三种情况下返回可读: 1.如果对端TCP发送数据,那么该套接字变为可读,并且read返回一个大于0的值. 2.如果对端TCP发送一个FIN,那么该套接字变为可读,并且read返回0. 3.如果对端TCP发送一个RST,那么该套接字变为可读,并且read返回-1,而errno中含有确切的错误码. shutdown和close的区别: 1.close把描述符的引用计数减1...原创 2018-04-29 18:58:57 · 155 阅读 · 0 评论 -
TCP/IP总结
TCP的三次握手: 1.服务器必须准备号接受外来的连接.这通常通过调用socket bind和listen这三个函数完成,我们成为被动打开. 2.客户通过调用connect发起主动打开.这导致客户TCP发送一个SYN分节,它告诉服务器客户将在连接中发送的数据的初始序列号.通常SYN分节不携带数据,其所在IP数据报只含一个IP首部,一个TCP首部及可能有的TCP选项. 3.服务器必须确认客户的...原创 2018-04-29 14:21:23 · 312 阅读 · 0 评论 -
判别系统大小端存储的方法及程序代码
考虑一个16位整数,它由2个字节组成.内存中存储这两个字节有两种方法:一种是将低序字节存储在起始位置,称为小端字节序;另一种方法是将高序字节存储在起始地址,这称为大端字节序. 代码如下(摘自UNIX网络编程): #include <stdio.h> int main(){ union{ short s; char c[sizeof(short)]; }un; un...原创 2018-04-30 13:22:10 · 194 阅读 · 0 评论