如何在C#套接字编程中从客户端向服务器发送用户名和密码

时间:2014-12-16 14:39:25

标签: c# sockets

我需要知道如何从客户端向服务器发送用户名和密码。它们应该在单独的流中发送还是应该将它们组合在一个流中然后将它们发送给客户端?我应该以哪种格式发送它们?

假设用户名是“user1”,密码是“123”。这是我认为做这项工作的一种方式。

        var networkStream = TcpClient.GetStream();
        byte[] buffer = Encoding.UTF8.GetBytes("user1");
        networkStream.Write(buffer, 0, buffer.Length);
        networkStream.Flush();
        var networkStream = TcpClient.GetStream();
        byte[] buffer = Encoding.UTF8.GetBytes("123");
        networkStream.Write(buffer, 0, buffer.Length);
        networkStream.Flush();

另一种方法是以这种方式发送用户名和密码:

        var networkStream = TcpClient.GetStream();
        byte[] buffer = Encoding.UTF8.GetBytes("user1;123");
        networkStream.Write(buffer, 0, buffer.Length);
        networkStream.Flush();

哪种方式是正确的,还有更好的方法吗?

另一件事是服务器应该如何知道传入流是用户和/或密码?

提前致谢。

1 个答案:

答案 0 :(得分:1)

你必须提出一个双方都能理解的协议。这完全取决于你。