回 帖 发 新 帖 刷新版面

主题:[原创]Winsock 编程的点滴体会


    作为业余爱好者,在本论坛我学到了很多东西。现在把自己近期在网络编程中的一点点体会贴于此,作为对论坛的回报。
    
    一、    如果你用byte数组数存放发送或接收的数据,应该使用动态数组。
    
    二、    仅使用一个Winsock对象很难进行可靠的、双向的数据传输和消息通信,应该考虑使用多个Winsock。当然,这会增加编写的难度,但却能获得较高的可靠性。在启用一个新的Winsock前,应该先关闭上一个Winsock。最好是每完成一个任务,就关闭所用的Winsock,待下次需要时再重新启动它。
    
    三、    在连续发送数据包时,包和包之间应该有适当的时间间隔,以避免接收方漏接。这可以用一定数量的空循环来实现,而最好不用timer控件。
    
    四、    在编程的一定阶段,可以把接收程序和发送程序分离为两个工程,在两台机器上进行连通调试。调试完毕再合二为一。也许这种分合有时需要进行多次。
    
    五、    如果你发送的文件较大,发送完毕,应即刻把记录文件数据的数组用Erase语句清除,比如像:
                       Erase Mybuffer
    此外还可用 me.refresh 语句刷新窗体。这是因为在发送大文件时,由于所需时间长,资源消耗大,可导致窗体模糊,响应能力差。而上面两个句子在一定程度上可以改善这种状况。


    以上所说,纯属个人体会,不对之处,敬请批评。

[center]Winsock 编程的点滴体会[/center]

回复列表 (共2个回复)

沙发

不错啊,支持一下!我也正在学winsock,能否交流一下

板凳

不错不错 ,我也来顶一个

我来回复

您尚未登录,请登录后再回复。点此登录或注册