传奇外传私服 套接字模型 - JJF代码男孩 - 博客频道 - CSDN.NETPrima SIRF TT4X0B 的系统定制 - lanyzh0909

最近,由于工作的需要从ARM9的平台转换到ARM11的平台。在此首先要做的就是系统的定制, ARM11支持WINCE6.00WINCE6.00WINCE5.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.binTINYNK.binxip.binchain.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)


上一篇: 如果水温过高晚上临睡前一、上游:绿色、自
下一篇:下面没有链接了