最近,由于工作的需要从ARM9的平台转换到ARM11的平台。在此首先要做的就是系统的定制, ARM11支持WINCE6.00。WINCE6.00和WINCE5.00 系统的定制有所不同。WINCE6.00的定制开发环境是集成在VS2005(或更高的版本)。在开始WINCE6.00的定制首先确保你的系统安装和满足以下要求:
//从套接字中读取数据
#define WM_SOCKER WM_USER+20
writefds表示一组可写套接字
OC/PRIMA_SiRF_V2 和$:/WINCE600/PLATFORM//TT4X0BD下。
{
2:WSAAsyncSelect模型
Return 0;
if(nRet!=0)
fd_set fdRead; //定义一个fd_set对象
5. 选择 "PDA Device" ,破天一剑私服,点击"Next".
– Visual Studio 2005 SP1
If(FD_ISSET(clientSock,&fdRead)//判断clientSock是否是fdRead中一员

下面一段代码判断套接字上是否有数据可读


8. 选择支持的网络

WSAAsyncSelect模型是WINSOWS系统基于消息的网络事件通知模型。当网络中有事件发生时,利用用户的连续请求,则应用程序中指定的窗口将会接受到一个消息,可以通过处理消息函数对网络中的事件进行处理。
Select模型是一种常见的模型,通过select函数来确定套接字状态。在网络应用程序中,通过一个线程来设计一个循环,破天一剑sf,不停的调用select函数,判断套接字上是否存在数据或者是否能够向套接字写入数据等
1:FD_CLR(s, *set) :从集合中删除套接字
FD_CONNECT:当连接完成后发出消息
FD_SET(clientSock,&fdRead); //将套接字clientSock添加到fdRead中
wMsg表示窗口接受来自套接字中的消息
2:FD_ISSET(s,*set):判断套接字s是否为集合set中的一员,如果是返回值为0,传奇外传私服,否则为0
}
3、打开我们VS2005,按照下面一步一步来:
if(select(0,&fdRead,NULL,NULL,NULL)>0) //调用select函数
{
设置完毕。现在可以编译系统了”Build”->”Advanced Build commands”->”Sysgen”,之后就你就耐心的等待吧。最后生成 NK.bin、TINYNK.bin、xip.bin、chain.bin等。
LRESULT CDialogDlg::OnSocket(WPARAM wParam,LPARAM lParam)
2:添加一个消息处理函数,用于处理网络中的事件
套接字I/O模型
FD_READ :套接字中有数据读取时发送消息
exceptfds表示一组被检查有错误的套接字
10..设置工程的属性
3:FD_SET(s,*set):向集合中添加套接字s
3. 单击"OK".
为了方便用户对fd_set类型的参数进行操作,热血传奇sf,VC++提供了四个宏
将这两个开发包分别放在:$:/WINCE600/PLATFORM/COMMON/SRC/S
7..选择多媒体和浏览器。
int nRet=WSAAsyncSelect(clientSock,m_hWnd,WM_SOCKET,FD_READFD_WRITEFD_CONNECT);
FD_WRITE:当输出缓冲区可用区时发出消息
• Install the following software in order

– Visual Studio 2005
Hwnd:表示接收消息的窗口句柄
{
下面通过一段代码描述WSAAsyncSelect模型的使用
• Microsoft Windows 2000 Professional with SP 2 or Windows XP Professional.

……
1、在定制系统时,一般供应商会提供两个底层软件包PRIMA_SiRF_V 和TT4X0BD :
1:自定义一个消息
int nEvent=WSAGETSELECTEVENT(lParam);//读取网络18:40
4.选择"SiRF TT4X0BD Reference Design: ARMV4I",点击Next
1. 选择主菜单 menu → File → New → Project... → Platform Builder for CE 6.0.
4:FD_ZERO(*set):将集合set初始化为null;
2 . 新建一个OS Design (如:: OSDesign1).
1:Select模型
}
其中对于lEvent事件有
timeout表示函数的等待时间
– Windows Embedded CE 6.0 Cumulative Product Update Rollup 12/31/2007
2、设置开发环境变量,不过我们一般不用管它选用默认设置就好了。
{
}
}
case FD_READ :……

ii. 单击”Local”,选择“English (US)”(还可以选择简体中文、繁体中文)
nfds:无实际意义

TRACE(“设置WSAAsyncSelect模型失败”);
• 1GB free space on the hard drive for a typical single microprocessor installation.
int select(int nfds,fd_set FAR *readfds, fd_set FAR *writefds,fd_set FAR * exceptfds, const struct timeval FAR * timeout)
– Windows Embedded CE 6.0 R2
– Visual Studio 2005 SP1 Update for Vista (if applicable)
9. 在 Microsoft Visual Studio 2005中,选择 “Release”版本。
– Windows Embedded CE 6.0 Platform Builder
FD_OOB:套接字中有外带数据读取时发生消息
iii. 单击”Build Options”
FD_ZERO(&fdRead); //初始化fdRead
FD_ACCEPT:有连接请求时发出消息
readfds表示一组可读套接字
3:添加消息映射宏,将自定义消息与消息处理函数关联
6. 选择 "Mobile Handheld" ,点击 "Next".
ON_MESSAGE(WM_SOCKET,OnSocket)
4:调用WSAAsyncSelect函数套接字模型
• 1GHz Pentium II processor or higher.
}
FD_CLOSE:套接字关闭时发出消息
公司给我的平台是Prima SIRF TT4X0B的开发板,以下讲述都是基于这块开发板。
返回值:如果函数调用成功,在readfds,writefds、exceptfds参数中将存储满足条件的套接字元素,并且函数返回值为满足条件的套接字数量。如果函数调用超出了timeout设置的时间,返回值是0,如果函数调用失败,返回值是SOCKET_ERROR
i. 选择主菜单 menu → Project → OSDesign1 Properties.
你的系统满足以上要求的话,传奇外传sf,那我们就开始我们WINCE6.00系统的定制哦。
lEvent表示网络中发生的事
{
case FD_CONNECT:……
int WSAAsyncSelect(SOCKET s,HWND hwnd,unsigned int wMsg,long lEvent)
int nError=WSAGETSELECTERROR(lParam);//读取错误代码
– Windows Embedded CE 6.0 SP1 (required if PB 6.0 Tools are installed)
switch(nEvent)
刚开传奇一
请使用1024*768分辨率浏览本站以达到游戏最佳视觉效果
打击盗版支持正版游戏 任何组织或个人未经同意,不得使用和传播盗版游戏,如有侵犯利益请来电告知说明,本站72小时内删除。