Q:
Delegate的返回值问题
A:
如果一个 delegate type 一次只搭载单独一个方法(method),那它就可以搭载任意返回型别及形式的成员函数。然而,如果一个 delegate type 要同时搭载多个方法(methods),那么返回型别就必须是 void[译注2]。 例如,Action 就可以用来搭载一个或者多个方法(method)。在 testHarness class 实现中,我们就将使用上述的 Action 声明。
Q:
MSMQ使用时需要注意的几点:
A:
1: PathName的使用
2: 每个消息的,默认大小限制是4M, 如果需要传输大于4M的消息, 需要更改注册表, 在相应路径下添加键值:HKLM"SOFTWARE"Microsoft"MSMQ"Parameters" 加添一个MaxMessageSize DWORD 值大小默认4M(0x00400000)最大16M(x00F00000),
通过网上查资料, 表明消息最大不能超过16M, 所以建议将消息大小设置为15M.
如果传输超过大小限制的消息: 系统会抛出System.Messaging.MessageQueueErrorCode.InsufficientResources的异常, 表明资源不足
Q:
爱立信的几种前置机的区别
A:
IOG: 这时爱立信很早的一种交换机的前置机, 用的是某种UNIX环境, 登录上去的典型特征是在USERCODE前会有一个桃心
APG: 这是爱立信后来的前置机, 用的操作系统是WindowsNT, 登录上去是没有桃心的, 并且会显示欢迎来到服务的提示
同时APG中有一种小分类, 是需要登录到域的, 我们叫这中前置机叫做APG40
Q:
Socket 如何判断连接断开?
A:
在流的末尾:
Stream.Read()
读入缓冲区中的总字节数。如果当前可用的字节数没有请求的字节数那么多,则总字节数可能小于请求的字节数,或者如果已到达流的末尾,则为零 (0)。
此方法的实现从当前流中读取最多的 count 个字节,并将它们存储在从 offset 开始的 buffer 中。流中的当前位置提升已读取的字节数;但是,如果出现异常,流中的当前位置保持不变。实现返回已读取的字节数。仅当位置当前位于流的末尾时,返回值才为零。如果没有任何可用的数据,该实现将一直阻塞到至少有一个字节的数据可读为止。仅当流中不再有其他的数据,而且也不再需要更多的数据(如已关闭的套接字或文件尾)时,Read 才返回 0。即使尚未到达流的末尾,实现仍可以随意返回少于所请求的字节。