我如何使用WCF服务而不是套接字客户端 - 服务器应用程序?

时间:2012-02-18 06:46:47

标签: c# wcf sockets command

我想知道如何使用WCF服务而不是套接字..发送命令..有人告诉我它比创建客户端 - 服务器应用程序更强大 我的申请

  • 发送/接收命令
  • 聊天
  • 文件传输 在我的应用程序中,我必须在两个端口上创建至少两个套接字..一个用于(chat / commands),另一个用于fileTransfer ..

    //this function runs in its own thread
    private void Job(object o)
        {
            Socket client = (Socket)o;
            NetworkStream stream = new NetworkStream(client);
            StreamReader sr = new StreamReader(stream);
            try
            {
                string cmd = null;
    
                while ((cmd = sr.ReadLine()) != null)
                {
                    Console.WriteLine(cmd);
                    string[] command = cmd.Split('<');
                    switch (command[0])
                    {
                        case "root":
                            fmc.root();
                            break;
                        case "explore":
                            fmc.Explore(command[1]);
                            break;
                        case "new_folder":
                            fmc.NewFolder(command[1]);
                            break;
                        case "hidden":
                            fmc.HiddenChecked(command[1]);
                            break;
                        case "delete":
                            fmc.Delete(command[1]);
                            break;
                        case "properties":
                            if (command[1] == "single")
                            {
                                fmc.SingleProperties(command[2]);
                            }
                            else if (command[1] == "multi")
                            {
                                fmc.MultiProperties(command[2]);
                            }
                            else
                            {
                                fmc.DriveProperties(command[2]);
                            }
                            break;
                        case "pastefromcopy":
                            fmc.PasteFromCopy(command[1], command[2]);
                            break;
                        //case "confirm":
                         //   break;
                        default:
                            Console.WriteLine(cmd);
                            break;
                    }
                }
            }
            catch { client.Close(); stream.Dispose(); sr.Dispose(); }
        }
    

    所以你有任何教程可以接近我的应用程序..执行命令..或者如果你可以给我写一个简单的客户端 - 服务器WCF ..以同样的方式解决它。提前谢谢:)

  • 2 个答案:

    答案 0 :(得分:3)

    网上有很多关于使用wcf制作聊天服务的文章。这实际上取决于你想要的水平以及你想学到多少。 我建议您首先浏览一些视频here,以了解wcf。

    然后查看这些内容,找到您想要创建的示例。

    享受创造服务的乐趣。

    答案 1 :(得分:0)

    以下link将是一个很好的起点。它详细介绍了如何在WCF中编写客户端服务器聊天应用程序。