WEB开发网
开发学院软件开发C语言 C#网络编程(订立协议和发送文件) - Part.4 阅读

C#网络编程(订立协议和发送文件) - Part.4

 2009-03-26 08:22:21 来源:WEB开发网   
核心提示: 2.3 ProtocolHelper辅助类这个类专用于将XML格式的协议映射为我们上面定义的强类型对象,这里我没有加入try/catch异常处理,C#网络编程(订立协议和发送文件) - Part.4(5),因为协议对用户来说是不可见的,而且客户端应该总是发送正确的协议

2.3 ProtocolHelper辅助类

这个类专用于将XML格式的协议映射为我们上面定义的强类型对象,这里我没有加入try/catch异常处理,因为协议对用户来说是不可见的,而且客户端应该总是发送正确的协议,我觉得这样可以让代码更加清晰:

public class ProtocolHelper {

    private XmlNode fileNode;
    private XmlNode root;
   
    public ProtocolHelper(string protocol) {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(protocol);
        root = doc.DocumentElement;
        fileNode = root.SelectSingleNode("file");
    }

    // 此时的protocal一定为单条完整protocal
    private FileRequestMode GetFileMode() {
        string mode = fileNode.Attributes["mode"].Value;
        mode = mode.ToLower();
        if (mode == "send")
            return FileRequestMode.Send;
        else
            return FileRequestMode.Receive;
    }

    // 获取单条协议包含的信息
    public FileProtocol GetProtocol() {
        FileRequestMode mode = GetFileMode();
        string fileName = "";
        int port = 0;

        fileName = fileNode.Attributes["name"].Value;
        port = Convert.ToInt32(fileNode.Attributes["port"].Value);

        return new FileProtocol(mode, port, fileName);
    }
}

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:网络编程 订立 协议

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接