发送multipe数组到“服务器”(C#)
比方说,我有一个客户端和一台服务器。我想向服务器发送两个数组:发送multipe数组到“服务器”(C#)
- 用户名(这是“一”,在这个例子中)
- 密码(这是“B”,在这个例子中)
我
stream.Write (userd, 0, userd.GetLength);
stream.Write (passd, 0, passd.GetLength);
服务器侧是::“使用该代码发送到服务器M
的问题是,输出I GE t在服务器端是“ab”用户和密码,因为我不能在密码字节和用户字节之间分开,因为它全部在一个流中发送(我知道它是正确的?)。
我该如何正确使用? :O
这个问题有点宽泛,但是在这里。但基本上,你有很多选择,你只需要选择一个并运行。我的意思是,某些方法是有优点和缺点的,但是你可以比那些我能猜出你要做的更容易的工作。
如果你正在做这样的事情,你会担心安全问题,但这远远超出了你的问题的范围,所以我只是假设你已经覆盖了它。
这些只是我的头顶几个选项。
使用分隔符
如果这个去了,你有,你知道在服务器和客户端上的单个字符,可以保证永远不会出现在用户名(或者你可以进入逃跑,如果需要的话)。如果你选择了一个冒号,例如,你会再发送服务器:
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>
非常感谢! :) – MrJack320 2014-09-25 09:44:39
@ MrJack320我希望能回答你的问题,或者至少让你走上正确的道路。 – 2014-09-25 09:45:03
您可以将对象序列化为二进制文件并在服务器上发送流吗? 然后在服务器上反序列化二进制流到一个对象。
如何使用固定的宽度? – MrJack320 2014-09-25 09:32:44
我的知识还很基础。对不起,我的问题听起来很愚蠢。 – MrJack320 2014-09-25 09:33:31