我有一个 C# 应用程序(它是客户端)和一个服务器。现在服务器获取并向客户端发送各种消息,这些消息是字符串,我为此使用 StreamWriter
,现在客户端和服务器上的发送消息看起来非常相同,我采用字符串编码成UTF-8然后发送
public void SendMessage(String p)
{
if (p != "")
{
string StringMessage = HttpUtility.UrlEncode(p, System.Text.Encoding.UTF8);
try
{
swSender.WriteLine(StringMessage);
swSender.Flush();
}
catch (IOException e)
{
//do some stuff
}
}
}
现在,我发送的字符串是这样的:
"SUBJECT@@@@SOMEDATA1<><>SOMEDATA2<><>SOMEDATA3
这会导致一些问题,并让我思考。这是大型应用程序发送/接收数据的方式吗?因为它看起来很傻。如果不是,那么有人可以举例说明大型应用程序如何发送消息吗?
另外:我发送消息的方式让我的嵌套 if 变大了
例如:
if(Subject="something")
do something
else if(subject="something else")
do something else
我该如何解决这个问题?
最佳答案
这在很大程度上取决于您的应用需求。
一般来说:不,发明自己的协议(protocol)不是一个好主意。
从客户端向服务器发送消息的方式有很多种。
我建议您阅读一些有关 WCF 的资料,或者如果您使用的是 .NET 2.0 而不是 .NET Remoting。
此外,您可能需要考虑发送 HTTP 消息,因为有大量框架可以执行此操作。
关于c# - 将数据(消息)发送到服务器的最佳(广泛接受)方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888949/