服务器接收“组合”消息。来自客户的消息?
问题描述:
我使用SendPacketsAsync从客户端发送一些消息。这是我的代码示例:
I use SendPacketsAsync to send some messages from client. Here's a sample of my code:
public static void SendMessage(string message)
{
SocketAsyncEventArgs e = new SocketAsyncEventArgs();
byte[] data = Encoding.Unicode.GetBytes(message);
e.Completed += new EventHandler<SocketAsyncEventArgs>(clientSocketEventArgs_Completed);
e.SendPacketsElements = new SendPacketsElement[1];
e.SendPacketsElements.SetValue(new SendPacketsElement(data), 0);
e.SendPacketsSendSize = data.Length;
clientSocket.SendPacketsAsync(e);
}
public static void BuildMessage()
{
string[] messages = {"part1", "part2"};
foreach (string message in messages)
{
SendMessage(message);
}
}
答
您需要使用消息框架。以下是有关如何操作的几个链接。
以下是一个适合您需求的好例子。它使用消息框架作为字符串。
http://blogs.msdn.com/joncole/archive/2006/03/20/simple-message-framing-sample-for-tcp-socket.aspx
以下是其他一些内容。
http:/ /blogs.msdn.com/malarch/archive/2006/06/26/647993.aspx
http://nitoprograms.blogspot.com/2009/04/message-framing.html
祝你好运。
You need to use message framing. Here are a couple of links on how to do that.
The following is a good example that should suit your needs. It uses message framing for strings.
http://blogs.msdn.com/joncole/archive/2006/03/20/simple-message-framing-sample-for-tcp-socket.aspx
Here are some others.
http://blogs.msdn.com/malarch/archive/2006/06/26/647993.aspx
http://nitoprograms.blogspot.com/2009/04/message-framing.html
good luck.