博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2015年11月13日

摘要: 利用移位操作代替乘除操作可以提高代码的效率:/*利用移位运算代替乘除,可以提高代码效率*/class YiWeiTest { public static void main(String[] args) { int a = 2, b, c; b = 2 > 2; // 8/4 sop("... 阅读全文

posted @ 2015-11-13 15:11 勇敢的鑫 阅读(765) 评论(0) 推荐(0) 编辑

摘要: 包名:多个单词组成是所有单词字母小写。类名、接口名:所有单词首字母大写。变量名、函数名:多单词组成时第一个单词首字母小写,从第二个单词开始首字母大写。常量名:所有字母大写,单词之间用 “_” 连接。 阅读全文

posted @ 2015-11-13 11:36 勇敢的鑫 阅读(179) 评论(0) 推荐(0) 编辑

2015年4月28日

摘要: 这一节主要关注的还是粘包问题,我们利用recv实现一个recv_peek函数,它的目的是偷窥目的,它是利用recv的一个msg_peek参数与read的区别,read读取后会擦除缓冲区的内容,而recv结合msg_peek会读取的时候并不擦除缓冲区的内容,起到一个可以偷窥的目的,利用这个特性可以用r... 阅读全文

posted @ 2015-04-28 00:31 勇敢的鑫 阅读(126) 评论(0) 推荐(0) 编辑

2015年4月26日

摘要: tcp是基于字节流的,udp是基于报文即数据包的,所以tcp会产生一个叫做粘包的问题,而udp不会产生。我们这节主要讨论粘包问题:先看一下粘包问题的原因:总结如下:1、应用进程的缓冲区和Socket缓冲区的大小不一定相吻合。2、tcp传输段有mss限制。3、链路层有个mtu限制。粘包的解决方案:1、... 阅读全文

posted @ 2015-04-26 22:54 勇敢的鑫 阅读(144) 评论(0) 推荐(0) 编辑

摘要: //需要目标名和程序名字相同.PHONY:clean all //伪目标CC=gccCFLAGS=-Wall -gBIN= //目标all:$(BIN)%.o:%.c $(CC) $(CFLAGS) -c $< -o $@clean: ... 阅读全文

posted @ 2015-04-26 22:41 勇敢的鑫 阅读(132) 评论(0) 推荐(0) 编辑

2015年4月12日

摘要: 有个SO_REUSEADDR值得注意一下:服务器端尽可能使用SO_REUSEADDR在绑定之前尽可能调用setsockopt来设置SO_REUSEADDR套接字选项。使用SO_REUSEADDR选项可以使得不必等待TIME_WAIT状态消失就可以重启服务器。也就是如果你不这样子用的话会出现这样的问题... 阅读全文

posted @ 2015-04-12 23:28 勇敢的鑫 阅读(155) 评论(0) 推荐(0) 编辑

摘要: TCP客户/服务器模型:从图中就可以看出基本的过程来。回射客户/服务器:这个是回射的图示,客户端发给服务端,服务端在发回给客户端。socket函数:包含头文件功能:创建一个套接字用于通信原型int socket(int domain, int type, int protocol);参数domain... 阅读全文

posted @ 2015-04-12 18:19 勇敢的鑫 阅读(113) 评论(0) 推荐(0) 编辑

摘要: socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中struct sockaddr_in { uint8_... 阅读全文

posted @ 2015-04-12 04:09 勇敢的鑫 阅读(156) 评论(0) 推荐(0) 编辑

2015年4月5日

摘要: ISO/OSI参考模型:OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardization)国际标准化组织定义的网络分层模型,共七层。各层具体作用详解:物理层(Physical La... 阅读全文

posted @ 2015-04-05 11:51 勇敢的鑫 阅读(137) 评论(0) 推荐(0) 编辑

摘要: 这节是命名管道FIFO。如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道。命名管道是一种特殊类型的文件创建:命名管道可以从命令行上创建,命令行方法是使用下面这个命令: $ mkfifo filename命名管道也可以从程序里创建,相关函数有: int mk... 阅读全文

posted @ 2015-04-05 01:00 勇敢的鑫 阅读(133) 评论(0) 推荐(0) 编辑