网络
Frank-Lee
ITer
展开
-
SOCK_STREAM与SOCK_DGRAM套接口类型
SOCK_STREAM套接口(流套接口)的性质 1、不保留任何消息的边界 举一个例子:本地主机通过两次独立的write(2)调用向远程主机发送数据,第一次本地进程写入25字节的数据,并通过套接口发送到远程进程,第二次再写入30字节的数据发往远程进程,总共55字节的数据,而远程进程从套接口接收数据时,将消息作为一个完整的单元来接收,或是通过若干次独立的读操作来将数据取走,即接受端并不知道转载 2013-06-17 14:11:28 · 537 阅读 · 0 评论 -
TCP消息边界处理
在前面的几篇中,讲了关于套接字Socket以及利用套接字助手类来进行服务端和客户端之间的通信,在此中间并没有对发送的信息进行任何的处理。在本篇中将会讲一下TCP通信时的信息边界问题。 通过套接字或其助手类来接收信息时,是从缓存区里一次性把全部的缘存都读取出来,只要你设置的缓存够大,它就能读取这么多,这样就会导致这样的情况出现。如果服务端连续发送信息到客户端,如我连续发送字符串“message转载 2013-06-17 14:58:52 · 1621 阅读 · 0 评论 -
WinSock编程基础
一.套接字的一些基础知识 1.Windows通信相关驱动 netio.sys(Network I/O Subsystem) ndis.sys(NDIS Driver) ipnat.sys(IP Network Address Translator) tcpip.sys(TCP/IP Driver) tdtcp.sys(TCP Transport Driver) tdi.sys(TDI转载 2013-06-17 15:50:20 · 2215 阅读 · 0 评论 -
TCP网络编程MSS细节
8.I/O通信 从I/O的角度来看,套接字也是文件,它提供了同文件读写(fread()/fwrite())对应的收发数据操作接口:send()/recv()。 8.1 发送数据 8.1.1 send // The send function sends data on a connected socket. int send( SOCKETs, // [in]转载 2013-06-17 15:51:30 · 980 阅读 · 0 评论 -
关于TCP封包、粘包、半包
Codeproject上的一篇文章 http://www.codeproject.com/Articles/11922/Solution-for-TCP-IP-client-socket-message-boundary 很多朋友已经对此作了不少研究,也花费不少心血编写了实现代码和blog文档。当然也充斥着一些各式的评论,自己看了一下,总结一些心得。 首先我们学习一下这些朋友的心得,他们转载 2013-06-17 17:08:06 · 734 阅读 · 0 评论 -
同步/异步与阻塞/非阻塞的区别
转自:http://blog.csdn.net/weiqubo/article/details/8640072 我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别. 这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方. 首先来解释同步和异步的概念,这两转载 2013-06-19 13:57:12 · 578 阅读 · 0 评论 -
开源免费的C/C++网络库
转自:http://blog.csdn.net/weiqubo/article/details/8730199 (1)ACE 庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。 http://www.cs.wustl.edu/~schmidt/ACE.html (2)Asio Asio基于Boost开发的异步IO库,封装了Socket,简化基转载 2013-06-19 14:01:05 · 1760 阅读 · 0 评论