Exemple #1
0
        private void SetStartNode() // 로그인이 성공했을때 TreeView노드에 경로로 보여줄 초기 노드를 받는다.
        {
            BinaryFormatter  serializer  = new BinaryFormatter();
            TcpClient        fileClient  = fileConnect();
            NetworkStream    fileStream  = fileClient.GetStream();
            ReqStartNodePack reqNodePack = new ReqStartNodePack
            {
                Id = userID // 본인이 접속한 id명의 폴더가 자신의 공간이다. 이 폴더의 하위폴더를 노드형태로 받아올거다.
            };

            serializer.Serialize(fileStream, reqNodePack);

            Pack resNodePack = (Pack)serializer.Deserialize(fileStream);

            if (resNodePack.PackType == CONSTANTS.TYPE_ERROR)
            {
                MessageBox.Show(CONSTANTS.Err_String[resNodePack.Flag], "알림");
                return;
            }

            TreeNode node = ((ResStartNode)resNodePack).ROOT_NODE;

            tree_Directory.Nodes.Add(node);
            selectedNode = node;         // 최상위 폴더를 선택한다/
            selectedPath = node.FullPath;
            node.Expand();
            fileStream.Close(); fileClient.Close();

            lbl_SelectPath.Text = "업로드 경로 : " + selectedNode.Text;

            RefreshList(userID); // 파일목록도 새로고침.
        }
Exemple #2
0
        // ==== ResNode() (TYPE_REQ_LOGIN) ==== //
        private void ResNode(ReqStartNodePack reqPack)      // 클라이언트에 초기노드 만들어서 보내는 응답
        {
            TreeNode node = new TreeNode(reqPack.Id);       // 보낼 임시노드

            if (!(Directory.Exists(rootPath + reqPack.Id))) // 가입 후 첫 접속일경우 ID이름의 폴더가없으므로 만들어준다
            {
                Directory.CreateDirectory(rootPath + reqPack.Id);
            }
            tempTree.Nodes.Add(node); // 노드에 노드를 추가하기위해서 TreeView에 추가를 해줘야하더라
            MakeTreeNode(node);       // 경로검색해서 노드들 붙이는 메소드
            ResStartNode resPack = new ResStartNode
            {
                ROOT_NODE = node
            };

            serializer.Serialize(clientStream, resPack);
            Console.WriteLine("<->시작 노드전송 : {0} ", ((IPEndPoint)client.Client.RemoteEndPoint).ToString());
        }