[-急-] WinCE访问PC的共享文件问题!
在一个局域网内有几十台WinCE的终端,他们去访问作为服务器(Windows2003 Server)的共享文件夹,发现有几对的计算机会访问互斥。
比如A、B是互斥的,A访问正常,B去访问,则A就会访问失败,A再去访问,B又会访问失败。
此时在服务器端(Windows2003 Server)“计算机管理-->系统工具-->共享文件夹-->会话”中查看当前访问的“计算机”,发现互斥的两台终端的名字都是一致的,形如:_CEDRD74EBF78。
每次重启终端后此名字都不同,所以,每次重启后互斥的终端都不同。
不知WinCE的访问的这个名字是怎么产生的(由于终端的CE都是烧录进去的,所以所有CE的设备名都是WindowsCE)?
有什么方法能避免这个问题?
多谢。
问题点数:100、回复次数:25Top
1 楼zaodt(至尊宝宝:我就在你身旁,关心永远不打烊!)回复于 2006-12-08 10:18:02 得分 5
只有改名字了!Top
2 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-08 10:22:11 得分 0
zaodt(至尊宝宝):
我们重新改设备名后试验,发现访问时看到的名字还是随机产生的,形如:_CEDRD74EBF78,而不是像XP访问时的那样,看到的计算机名。
Top
3 楼szy41(maybei)回复于 2006-12-08 10:49:08 得分 5
upTop
4 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-08 10:59:45 得分 0
我们终端的WinCE是烧录进去的,我们生产的量很大,一个网内可能有上百个这样的终端,如果每个终端都烧不同的系统,这个不太现实,而且当前的问题是即使使用不同的设备名,共享访问的名字还是随机的。
各位有什么其它思路吗?Top
5 楼zaodt(至尊宝宝:我就在你身旁,关心永远不打烊!)回复于 2006-12-08 11:03:37 得分 10
IP是动态分配的吗?
网卡地址有冲突吗?Top
6 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-08 11:29:02 得分 0
IP是DHCP动态分配的,MAC地址也是唯一的。Top
7 楼walk_stop_walk()回复于 2006-12-08 16:13:59 得分 5
通过CE如何访问WINXP 中的共享文件夹?能在CE上直接看到吗Top
8 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-08 18:58:54 得分 0
能访问的,不能用IP地址访问,只能用网络名访问。
如:\\Server 而不能用 \\192.168.1.1
谁还能给我点指点?
访问共享文件名的那个名称到底是怎么产生的?Top
9 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-08 20:06:13 得分 0
求教各位大侠:
CE访问服务器端(Windows2003 Server),在服务器端的“计算机管理-->系统工具-->共享文件夹-->会话”中查看当前访问的“计算机”,CE设备访问的名字形如:_CEDRD74EBF78,这个是怎么产生的?
Top
10 楼nhczp(陈)回复于 2006-12-09 15:14:57 得分 10
采用固定的IP地址,网关.
然后检查一下MAC.
如果还不行,只得一个一个的试找出出问题的机器啦.Top
11 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-10 11:02:18 得分 0
现已知道_CEDRD74EBF78类型的名字是NetBIOS名字。
由于每次启动每台终端产生的NetBIOS名字都不一致,所以每次冲突的终端都会变,不知谁知道怎么解决这种产生的NetBIOS名字的冲突问题?
我们试着做了一个WINS服用器,但这个WINS服务器只能检测到终端的设备名冲突,而似乎CE的NetBIOS名字与设备名没什么关系,还是有冲突的现象。Top
12 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-11 11:09:16 得分 0
继续求救!Top
13 楼hwndhwnd(何宗键)回复于 2006-12-11 15:10:53 得分 10
那个名字似乎是在注册表里面写的,看看Windows CE注册表下面的两个值是什么?
[HKEY_LOCAL_MACHINE\Ident]
"Name"=LOC_DEFAULTDEVICENAME
"Desc"=LOC_DEFAULTDEVICEDESC
尝试修改一下这个值。
Top
14 楼msregister()回复于 2006-12-11 16:34:42 得分 5
有意思,markTop
15 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-12 09:20:21 得分 0
WindowsCE的设备名和设备描述是可以改的(设备名就如同计算机的计算机名,WindowsCE的默认设备名都是WindowsCE),我们也改过这个试了,但在访问共享文件时,在服务器端得到还是那一串_CEDRD74EBF78名称。
郁闷中,向高手求教。Top
16 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-12 19:19:09 得分 0
继续求教!高手帮忙。Top
17 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-12 19:31:18 得分 0
经过大量枯燥而细致的实验,发现这个名称和设备名、IP、MAC地址都没关系。
还试验了WINS服务器,也没结果。
要崩溃了!!!!!
再不行就要跳楼了……
救命啊!
难道WinCE就有这问题?Top
18 楼jiess(刘伟庭)回复于 2006-12-12 19:54:01 得分 50
你试一下我提出的两种方法:
1.将IP设成固定IP,重启wince.
2.用这个函数应当可以NETBIOS名字.
int sethostname(
char* pName,
int cName
);
Top
19 楼jiess(刘伟庭)回复于 2006-12-12 20:03:50 得分 0
楼主还没告诉我们,你的wince的注册表信息掉电能保存吗?
如果不能的话,你只能用第二种方法试试看了.Top
20 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-13 10:04:43 得分 0
多谢 jiess(刘伟庭):
掉电是不能保存的!
第二种方法也试过,我们修改后设备名是变了,但访问服务器的文件夹时还是那个形如_CEDRD74EBF78的串。
我们用NetBIOS的命令nbtstat查询过终端的NetBIOS名字,如果终端没有改设备名,使用默认的WindowsCE作为设备名,则nbtstat查询不到终端的NetBIOS名字,如果更改了设备名,则查到的是设备名。
但就是得不到那个串,难道CE里有多个不同的NetBIOS名?还是那个串根本就不是NetBIOS名?谁知道这个名是怎么产生的?和什么有关?为什么会在同一网络内重复?怎么样避免他们在访问服务器时避免冲突的问题?
我们也查了一下访问时传输的会话包,发现用的的NBNS/NBSS协议。
继续求救!Top
21 楼jiess(刘伟庭)回复于 2006-12-13 16:51:08 得分 0
_CEDRD74EBF78,我感觉与IP是有一定关系的.
你有空可以看看NetBIOS协议.Top
22 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-14 16:08:27 得分 0
多谢 jiess(刘伟庭):
我们也在想是和什么有关系,但我们使用固定IP,固定设备名等方法试验过无效。
不论怎么样,每次设备启动后都会产生这个串,每次启动产生的都不同,但重复率很高!
崩溃了!!Top
23 楼jiess(刘伟庭)回复于 2006-12-14 18:32:21 得分 0
实在不行,就自己写代码来实现.Top
24 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-16 11:36:03 得分 0
经过多方查资料,发现那一串形如_CERAR的字符正是微软为了防止CE的设备名重复而产生的一个名,就是不知道它是怎么产生的,为什么重复的概率那么高。问微软的技术支持也不知其解。
研究了好久的CE内核代码也找到产生它的地方!
郁闷了。
继续求救!!!Top
25 楼ablewindy(我是【风子】我怕谁)回复于 2006-12-20 09:15:19 得分 0
未解决,看样子太麻烦了,结帖!Top




