1.思路:为了实现各种大小的文件都可发送和接收,可设置缓冲区循环发送和接收,并记录文件读到的位置,如果某次读入到缓冲区的字节数小于缓冲区的大小,则说明文件发送完了,退出发送循环,关闭连接。并且Csocket是阻塞的,接收端接能接收到发送端发送的所有内容,直到发送端连接关闭,接收端退出接收循环。
//循环发送文件
2.主要代码
发送端:
do
{
file.Seek(step,CFile...
                            
                            
                                分类:
编程语言   时间:
2014-11-19 12:39:32   
                                阅读次数:
225
                             
                    
                        
                            
                            
                                在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有 DATA数据传输,RST表示连接重置。其中,ACK是...
                            
                            
                                分类:
其他好文   时间:
2014-11-17 12:02:59   
                                阅读次数:
208
                             
                    
                        
                            
                            
                                http://my.oschina.net/costaxu/blog/127394在TCP协议中RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而接收端收到RST包后,也不必发送ACK包来确认。其...
                            
                            
                                分类:
其他好文   时间:
2014-11-05 19:03:39   
                                阅读次数:
192
                             
                    
                        
                            
                            
                                outlook2010怎么老提示IMAP服务器已关闭连接啊 http://www.cnblogs.com/wych/p/4071072.html
                            
                            
                         
                    
                        
                            
                            
                                最近在Outlook中使用 网易 163邮件的IMAP功能时,发现接收邮件的速度非常慢,才几封邮件就花了至少15分钟才停止了同步邮件服务器的过程,然后提示一个对话框:“IMAP 服务器已关闭连接。如果连接处于空闲状态的时间过长,则会发生此现象。”如下图所示。此现象时有时无! 故障图 此现象多数为网络...
                            
                            
                                分类:
其他好文   时间:
2014-11-03 14:23:00   
                                阅读次数:
3698
                             
                    
                        
                            
                            
                                大约10年前,我刚刚步入.Net开发,那时候还很流行单层架构,直接在界面上拖控件,然后绑定数据。数据库操作使用原生的Ado.Net,每次都要创建数据库连接,打开连接,发送Sql,获取结果、关闭连接。每当我需要进行数据库操作的时候,就把这一段复制粘贴过去,就这样干了几个月。 一日,一位师兄给我介...
                            
                            
                                分类:
其他好文   时间:
2014-10-29 18:53:52   
                                阅读次数:
143
                             
                    
                        
                            
                            
                                ?1. tcp关闭连接状态转换? 上图是tcp连接主动关闭端的状态转换图: (1)应用层调用close函数发起关闭连接请求 (2)发送FIN到对端,关闭写通道,自己进入FIN_WAIT1状态 (3)等待对端的确认ACK到来,接受到ACK...
                            
                            
                                分类:
其他好文   时间:
2014-10-24 20:55:12   
                                阅读次数:
354
                             
                    
                        
                            
                            
                                废不少工夫将数据存储,全部迁移至mongodb,未作大量改动则是主因。但遇到奇怪的现象。程序跑起不久后,mongodb即假死,另起客户端想登陆mongodb都不成。要重启mongodb服务器才好转。分析原因是mongodb的连接池满掉且不释放。但从官网所了解的mongodb的连接是自行管理的,用完后...
                            
                            
                                分类:
数据库   时间:
2014-10-24 20:31:12   
                                阅读次数:
335
                             
                    
                        
                            
                            
                                当调用closesocket关闭套接字时,SO_LINGER将决定系统如何处理残存在套接字发送队列中的数据。处理方式无非两种:丢弃或者将数据继续发送至对端,优雅关闭连接TCP_NODELAY: 表示立即发送数据.SO_RESUSEADDR: 表示是否允许重用Socket 所绑定的本地地址.SO_TI...
                            
                            
                                分类:
其他好文   时间:
2014-10-21 00:37:50   
                                阅读次数:
286
                             
                    
                        
                            
                            
                                close函数首先是将传入的socket句柄引用数减1(因为fork进程时会导致socket句柄被多个进程引用),待到引用数等于0的时候,close才会真正关闭连接。shutdown函数是立刻关闭连接(忽视句柄引用数值),关闭有三种方式SHUT_RD 关闭调用进程的读通道,调用进程立刻不能读网络数据...
                            
                            
                                分类:
其他好文   时间:
2014-10-19 13:00:36   
                                阅读次数:
200