| 最近一段时间比较闲,所以研究了一下te6410的网络服务问题,毕竟现在这个功能还是很实用,以下是本人不断实验和网上搜资料得到的结果,给其他同学一点借鉴,之所有写出来是因为我因为这个问题困扰了好长时间,相信也有跟我类似经历的同学。 
 
 Te6410构建web服务器和ftp服务器的步骤   本文所说都是基于te6410在wince下的操作,wince系统自带了web服务和ftp服务,我们只需在bsp中把相应的功能模块加载进去,然后重新编译。   一、打开bsp demo工程,在WinCE6.0中,打开“Catalog Items View”,然后依次选择“Core OS”->"CEBASE"->"Communication Services and Networking"->"Servers",然后我们会看到“FTP Server”、“Telnet Server”以及“Web Server”,选中这三项就可以了,接下来就是重新编译工程了。 “Catalog Items View”的具体位置在“View”菜单“Other Windows”下面,如下图1
 
 二、修改注册表(这里主要是针对FTP服务器) 在platform.reg下面添加注册表内容:[HKEY_LOCAL_MACHINE\COMM\FTPD]
 "IsEnabled"=dword:1
 "UseAuthentication"=dword:1
 "AllowAnonymous"=dword:0
 "DefaultDir"="\\NandFlash\\"
 "UserList"=" Admin;Guest "
 其中:
 "IsEnabled"=dword:1(CE系统启动时开启FTP服务)
 "UseAuthentication"=dword:1(访问FTP服务器时需要使用用户名和密码)
 "AllowAnonymous"=dword:0(不允许匿名访问)
 "DefaultDir"="\\NandFlash\\"(FTP服务器的工作目录)
 "UserList"="Admin;Guest"(允许访问FTP服务器的用户列表)
 添加FTP Server组件之后,和其相关的默认注册表设置也会被添加进来,应该是被添加进了servers.reg文件中,我们在platform.reg文件中添加的注册表内容会覆盖这些默认设置。  设置登录密码, 
 1、通过NTLMSetUserInfo设置系统的用户名和密码,该函数可以对系统各个用户及密码进行动态维护;NTLMSetUserInfo这个函数在ntlmssp.dll中
 函数原型为BOOL NTLMSetUserInfo( LPTSTR pszUser, LPTSTR pszPassword );
 通过BOOL NTLMDeleteUser( LPTSTR pszUser)可删除指定的用户。
 示例代码: #include <Ntlmssp.h> #pragma comment(lib, "Ntlmssp.lib") TCHAR    szUser[80], szPassword[80]; BOOL    bResult;
 _tcscpy( szUser, _T( "Admin") );
 _tcscpy( szPassword, _T( "123") );
 bResult = NTLMSetUserInfo(  szUser, szPassword );
 备注,有些同学可能会出现编译的时候,NTLMSetUserInfo这个函数找不到,解决办法是在定制系统时勾选上Core OS ->CEBASE->Security->SSPI->NTML,(如下图2)然后在系统的windows目录下就可见ntlmssp.dll。 同时需要将ntlmssp.lib这个文件拷贝到C:\Program Files\Windows CE Tools\wce600\TE6410 Board\Lib\ARMV4I目录下面,原因是#pragma comment(lib, "Ntlmssp.lib")这句话导入dll是从wince系统目录下找文件的。 在c#中,调用:  [DllImport("ntlmssp.dll")]  public static extern bool NTLMSetUserInfo(String pszUser, String pszPassword);    [DllImport("ntlmssp.dll")]  public static extern bool NTLMDeleteUser(String pszUser); 添加用户:NTLMSetUserInfo("admin", "123"); 删除用户:NTLMDeleteUser("zhongbao"); /PS:以上user为ftp用户名,pass为ftp密码,host为ftp服务器地址,或者通过LeapFTP专业软件去访问,然后做你自己想做的事。 但是以上两者数据传输速度超慢,不知道是我局域网的原因还是其它什么原因。   |