参看基于TCP/UDP的socket代码,同一时间Server只能处理一个Client请求:在使用当前连接的socket和client进行交互的时候,不能够accept新的连接请求。为了使Server能够处理多个Client请求,常见的方法:
多进程/线程方法、non-blocking socket(单进程并发)、non-blocking和select结合使用。三种方法各有优缺点,下面进行详细分析和说明。
参看基于TCP/UDP的socket代码,同一时间Server只能处理一个Client请求:在使用当前连接的socket和client进行交互的时候,不能够accept新的连接请求。为了使Server能够处理多个Client请求,常见的方法:
多进程/线程方法、non-blocking socket(单进程并发)、non-blocking和select结合使用。三种方法各有优缺点,下面进行详细分析和说明。
本来没想要安装MSDN的,但最近学MFC编程时,涉及很多API,不得不需借助下MSDN,这或许更容易上手些。首先说明下,我电脑上安装的visual studio版本是vs 2010(中文版),当前系统是Windows 8。
现在网上关于vs2010 MFC的教程,遍地都是鸡啄米大侠写得文章。那些文章中有介绍如何安装MSDN的内容。可惜在Windows 8中找不到“Manage Help Settings – ENU”,不过,稍微研究了下,终于把MSDN装上了。
都说岁岁年年人不同,人家这幸福晒得令人羡慕嫉妒恨,那日子过得是有滋有润。往年份,我感觉除了头上越来越少的头发见证这岁月痕迹,我状况是年年岁岁花相似。何其愁矣!
曾经算命的说,我乃大器晚成。来到马年,嘿,总算来了个大爆炸(The Big Bang Theory)和surprise。似乎在意料之外,掐指一算,明明又在计划之中。总结我的2014,上下半年,春秋两篇。
新换笔记本装的系统是WINDOW 8,在更换开发环境的时候,大多数开发工具软件安装和使用都比较顺利。有点意外的就是虚拟机软件VMWARE。
之前用的版本一直都是VMWARE 7.01。从WINDOW XP到WINDOW 7,安装和使用都没有任何的问题。WINDOW 8下安装这个版本软件也没有问题,但在使用时却不正常了。
在三星6410裸机程序开发1文章中,说到的是采用eclipse + windows安装版的专为ARM嵌入式处理器预编译的GNU工具组合来开发6410的裸机程序。由于遇到了中断问题,所以不得不切换开发环境。
幸运地是,不仅顺利切换到RVDS环境,而且还发现了三星官方6410_Test工程。这个工程提供了芯片大部分功能模块的裸机程序实现和测试用例程序。
在调试三星6410裸机程序时,遇到的一个很棘手的问题:在eclipse中怎么实现中断?这个问题的实质是:GCC中怎么声明ARM的中断处理函数。
这个问题折腾了很久,有点影响了项目的进度。后面改为RVDS开发环境才得以避开这个问题。现在回过头来再分析分析这个问题。刚好看到一篇博文,结合自己的理解,我想应该可以很好地阐释和解决这个问题。
这段时间终于把短距离通信的无线接收模块弄完了。本来一两周时间就可以弄完,但前两周由于尝试采用eclipse开发环境,遇到了很多问题,尤其是6410中断的实现。这导致后期赶工,花了几个通宵才算搞定,弄得自己一身疲惫。
回过头想想,这个项目在很多方面都值得总结和吸取教训。避免以后接项目时类似情况再次发生。后续文章再介绍三星6410的裸机程序开发环境和方法。
网上关于S3C6410裸机程序开发都是基于RealView RVDS。也有一些是基于eclipse的,但都没有详细介绍在eclipse中如何建立S3C6410裸机程序工程。
尽管友善之臂提供的6410裸机程序示例使用了eclipse工程,然程序的编译却还是基于makefile的。那怎样建立6410的eclipse裸机程序工程呢?本文就此进行详细介绍。有了这个工程,可以简化裸机程序的开发过程,把精力专注于功能实现。
目前,在帮别人开发一个短距离通信的无线接收模块,需求很简单,本来用简单的51单片机就可以搞定。可是人家偏偏指定要使用500MHz以上的CPU,而且采用裸奔的方式。
当时面对这种奇葩的要求,瞬间无语。幸好,对方允许使用友善之臂的tiny6410核心板。这样下来,开发这个收发器模块也就变得简单了。就权当自己练习吧!
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha |