最新评论
Re:绕开 CoreLab.MySql 验证 william.ng 2011-12-11 22:10
請問被取代之 a() 裡的 "here is license string" 值要修改嗎?
Re:XmlEdit控件及其分析破解 zqonline 2011-03-02 14:56
不错,正需要。。。。。
Re:Remoting中的线程与网络通信内幕初探 cooltan 2010-12-30 16:12
谢谢,对我非常有用
[quote]StevenShi:if (!this.ParentForm.Site.DesignMode)
<br/>{
<br/>
<br/>
<br/>}[/quote]
还需要增加ParentForm不为Null的验证
BinaryServerFormatterSinkProvider serverSinkProvider = new BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider clientSinkProvider = new BinaryClientFormatterSinkProvider();
serverSinkProvider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary properties = new Hashtable();
properties["port"] = 0x1f97;
TcpChannel chnl = new TcpChannel(properties, clientSinkProvider, serverSinkProvider);
ChannelServices.RegisterChannel(chnl, false);
try
{
RemotingConfiguration.RegisterWellKnownClientType(typeof(ClassCenterService), "tcp://" + this.strRemoteAddress + ":9992/InfowiseTCPMS.ServiceData/Infowise.TCPMS.RemoteServiceLibrary.ClassCenterService");
return true;
}
catch
{
return false;
}
//***************************************
请教博主,这里二处的端口号必须一致么??造成上面的TCP 信道协议冲突,是否源于这二处的端口号不一致决定的??
<channel name="Channel1" port="8186" ref="tcp"/>
Client代码:
RemotingConfiguration.Configure( "Client.exe.Config" );
Share.TestClass test1 = (Share.TestClass) Activator.GetObject(
typeof( Share.TestClass ), "tcp://localhost:8086/Test" );
请教博主,这里二处的端口号必须一致么??造成上面的TCP 信道协议冲突,是否源于这二处的端口号不一致决定的??
{System.Runtime.Remoting.RemotingException: TCP 信道协议冲突: 应为报头。
Server stack trace:
在
System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation
(UInt16& operation)
在 System.Runtime.Remoting.Channels.Tcp.TcpClientSocketHandler.ReadHeaders()
在 System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage
(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream,
ITransportHeaders& responseHeaders, Stream& responseStream)
在
System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage
(IMessage msg)
Exception rethrown at [0]:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
Int32 type)
在 Infowise.TCPMS.RemoteServiceLibrary.ClassCenterService.VerifyUser(Int32
intStaff_Id, String strLog_Pwd, String strMac, String strLog, String strSysType)
在 Infowise.TCPMS.PointTransactSys.ClassLogInfo.VerifyUser(String strId, String
strPassword, String strVerision) 位置 C:\Documents and Settings\Administrator\桌面
\reflector5.0\Win\WindowsApplication1\WindowsApplication1\ClassLogInfo.cs:行号 236}
---------------------------------------
楼主遇见过类似这样的问题么?恳请指点一二。。
另props1["port"] = 5001;
我反编译一软件,这里是以16进制显示的,是否原因在于这?
请教一个关于.NET REMOTING在一个客户端里连接两台服务器上的REMOTING服务的问题?
-----------------------------
就是B、C服务器上各运行一个REMOTING服务,在A服务器的一个应用程序里要同时去连接B、C服务器上的REMOTING服务(B、C服务器上提供的用户名和密码是不相同的),这个时候A服务器上应用程序的信道该如何注册呢?
我使用如下方法进行信道的注册
IDictionary channelA = new Hashtable();
channelA["name"] = "AServerChannel";
channelA["username"] = "AServerUserName";
channelA["password"] = "AServerPwd";
TcpClientChannel tA = new TcpClientChannel(channelA,new BinaryClientFormatterSinkProvider());
ChannelServices.RegisterChannel(tA,true);
//-----------------------------------
IDictionary channelB = new Hashtable();
channelB["name"] = "BServerChannel";
channelB["username"] = "BServerUserName";
channelB["password"] = "BServerPwd";
TcpClientChannel tB = new TcpClientChannel(channelB,new BinaryClientFormatterSinkProvider());
ChannelServices.RegisterChannel(tB,true);
这样可以在客户端上注册2个信道,但是在调试的时候只有A服务器可以连接,B服务器不能连接。好像只有第一个注册的信道有用,第二个注册的信道没有用一样!
请问,要怎么样,一个客户端才能使用多个信道连接不同的服务器?
这样注册的两个TcpClientChannel有什么用呢?优先级都是1,只有第一个信道有用,第二个信道永远也不会被用上的啊!
[quote]AD:你的问题在于测试client程序里那个变量i是需要加锁的, 后面的分析基本和你的问题无关。<br><br><a href="http://tingsaode.spaces.live.com/blog/cns" target="_new" rel="nofollow">http://tingsaode.spaces.live.com/blog/cns</a>!FE95D0EE01558610!419.entry<br><br>但是你的精神很厉害啊, 而且在你的启发下, 我也靠抓包解决了我的问题。<br>[/quote]
是啊,要加锁 不然在多线程下 可能同时多为1 也有可能 呵呵
如果是服务端只针对一个信道开辟一个线程去处理客户端请求,那么绝对是不够的呀,比如100个客户端注册的都是同一个信道,那么是否就说明这后面的99个请求要等待第一个请求执行完毕后才能再串行执行,显然ms不会这么去处理,而是即使在同一个信道中,服务端对于客户端的请求也是并发处理的,Soap(webservice,默认80端口<类似Remoting的信道>)中是使用线程池中的线程去处理客户端的请求的,至于Remoting,我想应该也是,而且楼主没有考虑Singlecall 和SingleTon的情况 而且既然是多线程处理就应要考虑锁的问题 ,可以使用锁的方式来进行测试与跟踪,或者答应出获取处理该请求,服务端所使用的当前线程ID,还有看下当前线程是否是后台线程,如果是后台线程,估计用的就是线程池了,应为Remoting的部署需要一个载体,也就是依赖的进程,每个进程独立的线程池!
re: ServU插件设计 赵保龙 2009-07-04 10:22
你的图片弄得很好看啊,请问是用什么做的?photoshop 吗?
楼主在么?
您的代码调试时卡在 API.ConnectNamedPipe(pipeHandle, ref lapped)这步一直没有反映,这是什么问题?
if (!this.ParentForm.Site.DesignMode)
{
}
我用的时候怎么不行啊?
de.Invoke("EnableExtensionFile", "*.dll");这一句有问题啊!
re: 绕开 CoreLab.MySql 验证 cachet 2008-12-19 21:12
强啊,呵呵~~ 我也试试哈。
re: XmlEdit控件及其分析破解 发现宝贝了,感谢!要是能折叠就更好了。 2008-11-22 11:15
发现宝贝了,感谢!要是能折叠就更好了。
re: 如何在C#中直接操作C++结构体 风之葵 2008-09-12 15:40
re: 如何在C#中直接操作C++结构体 风之葵 2008-09-12 15:40
re: 如何在C#中直接操作C++结构体 ssssssssssssssssssssssssssss 2008-08-27 17:09
[StructLayout(LayoutKind.Sequential)]
public struct RCEStruct {
public int Event;
public int Flag;
public char[40] User; <--------很好,什么时候C#中可以这样定义数组了??char[] User;才正确
}
是不是就是说这相当于“欺骗”flash播放器,让它认为是在读文件,其实是读了自己创建的管道,而管道里的数据来自我们自己的程序的内存或资源文件?
这样做就是不会在硬盘里留下文件,从而达到保护flash的目的
re: 如何在C#中直接操作C++结构体 snake3760 2008-02-25 14:34
这样好像不行的,我试了一下 c++写的dll中指针值为null
re: XmlEdit控件及其分析破解 Kriss 2008-01-02 15:48
强名称程序集使用数字签名进行签名。这可防止程序集被修改。任何篡改都会导致程序集加载时发生的验证过程失败,并会生成异常,而不会加载该程序集。
建议使用数字签名来保护.NET程序集不被篡改...
re: XmlEdit控件及其分析破解 Kriss 2008-01-02 15:47
@小迪
ILASM XmlEdit.IL /DLL /OUT=XmlEdit.DLL
你的问题在于测试client程序里那个变量i是需要加锁的, 后面的分析基本和你的问题无关。
http://tingsaode.spaces.live.com/blog/cns!FE95D0EE01558610!419.entry
但是你的精神很厉害啊, 而且在你的启发下, 我也靠抓包解决了我的问题。
呵呵,我也写过一个同样的用户控件,只是我是做成用户控件的模式。
web项目上面使用remoting技术出现如下错误:
远程处理配置失败,异常为“System.Runtime.Remoting.RemotingException: 信道“tcp”已注册。
是什么原因阿!?
re: 2000年前十大经典PC游戏 ht[匿名] 2006-11-07 10:08
《征服美洲-反击》1.50版本 BT 种子和游戏论坛地址
资料片增加了五个新国家、二十六个新任务、新的操作模式和五十多种新单位。其中国家是英国、法国、西班牙、俄罗斯、葡萄牙、荷兰、德国、 海达、阿芝台克人、苏族、印加人、玛雅人、休伦族人、特拉华人、易洛魁族人、普韦布洛人以及美国移民来供玩家选择
http://cnac.game.topzj.com/index.php
使用信道是没有用的,注册了信道后,如果在一段时间没使用就会自动关闭连接,即是没用了
使用信道是没有用的,注册了信道后,如果在一段时间没使用就关闭连接,)即是没用了)
re: 基于强名称签名的代码访问保护及其改进 kimi[匿名] 2006-10-24 11:16
请问,在C#程序中如何获取dll文件的PublicKeyToken? 谢谢!
re: 纪念南京大屠杀68周年,牢记历史 不忘国耻 2006-09-17 12:45
国庆将近
希望全部的中国人在庆祝祖国经济发展的同时
也不要忘记为新中国抗战的英雄们
也不要忘记列强的铁蹄!
为什么那时的中国会-----
相信我们大家会有所沉思
这些应该化作中国发展的动力
---
--
-
会不会出现这样的问题:
下载过程中,切换窗口,导致多个文件同时下载?