2014-09-25 123 views
-1

比方说,我有一个客户端和一台服务器。我想向服务器发送两个数组:发送multipe数组到“服务器”(C#)

  1. 用户名(这是“一”,在这个例子中)
  2. 密码(这是“B”,在这个例子中)

stream.Write (userd, 0, userd.GetLength); 
stream.Write (passd, 0, passd.GetLength); 

服务器侧是::“使用该代码发送到服务器M

的问题是,输出I GE t在服务器端是“ab”用户和密码,因为我不能在密码字节和用户字节之间分开,因为它全部在一个流中发送(我知道它是正确的?)。

我该如何正确使用? :O

+0

如何使用固定的宽度? – MrJack320 2014-09-25 09:32:44

+0

我的知识还很基础。对不起,我的问题听起来很愚蠢。 – MrJack320 2014-09-25 09:33:31

回答

2

这个问题有点宽泛,但是在这里。但基本上,你有很多选择,你只需要选择一个并运行。我的意思是,某些方法是有优点和缺点的,但是你可以比那些我能猜出你要做的更容易的工作。

如果你正在做这样的事情,你会担心安全问题,但这远远超出了你的问题的范围,所以我只是假设你已经覆盖了它。

这些只是我的头顶几个选项。

使用分隔符

如果这个去了,你有,你知道在服务器和客户端上的单个字符,可以保证永远不会出现在用户名(或者你可以进入逃跑,如果需要的话)。如果你选择了一个冒号,例如,你会再发送服务器:

username:password 

而且服务器可以使用string.Split(':')或同等制定出的参数。

使用固定的阔

再次,建立一个合同,但在这里你拥有一定数量的用户名会占用不管是什么人物,绝不会超过。

username  password 

然后你可以抓住string.Substring(...)找到参数。

HTTP

这是一个很大的更复杂,但一个HTTP请求的报头Authorization使用冒号分隔符等我原先提到。如果您规范化为针对所有请求使用HTTP,则它可能看起来像这样,并带有一些伪代码。

GET /path HTTP/1.1 
Authorization: BASIC [base64(username:password)] 

JSON/XML

JSON和XML格式是用于发送和存储数据。

JSON会是这个样子:

{ "username" : "thisIsTheUsername", "password" : "password01" } 

XML会是这个样子:

<creds> 
    <username>thisIsTheUsername</username> 
    <password>password01</password> 
</creds> 
+0

非常感谢! :) – MrJack320 2014-09-25 09:44:39

+0

@ MrJack320我希望能回答你的问题,或者至少让你走上正确的道路。 – 2014-09-25 09:45:03

0

您可以将对象序列化为二进制文件并在服务器上发送流吗? 然后在服务器上反序列化二进制流到一个对象。