我想用私人消息创建SOCKET聊天(服务器+客户端)。 当客户端写入流媒体时,他应该通知服务器它 是用户X的私人消息,我该怎么做?SOCKET与私人消息聊天C#
其实我可以做水木清华这样的:
string command = "PRIV|" + txtMessage.Text;
swSender.WriteLine(command);
,但我想,如果用户想发送消息 像我们这是不好的,例如“PRIV |”标志这将是错误
public class TestChat
{
private StreamWriter swSender;
private IPAddress ipAddr;
private void InitializeandSend()
{
//ip from text box
ipAddr = IPAddress.Parse(txtIp.Text);
// Start a new TCP connections to the chat server
tcpServer = new TcpClient();
tcpServer.Connect(ipAddr, 1986);
//...
//sending message from text box
swSender.WriteLine(txtMessage.Text);
swSender.Flush();
}
}
更新:确定另外一个问题我怎么可以identife,这是私人信息,例如,如果我用这个方法:
私人的NetworkStream纳秒;
Byte[] buffer = new Byte[2048];
ns.Read(buffer,0,buffer.Length);
string chatter = System.Text.Encoding.ASCII.GetString(buffer);
string[] tokens = chatter.Split(new Char[]{'|'});
if (tokens[0] == "CHAT")
{
logwriter.WriteLine(tokens[1]); //writing
}
如果用户想发送像我们的“PRIV |”这样的消息标志这将是错误
更新:在这种情况下,如果客户要发送消息“测试消息|其它测试” logwriter.WriteLine(tokens[1])
- 只显示令牌[1] - “测试消息”没有“其他测试”消息
你应该已经连接到IRC RFC他和你的所有引用同样的事情.. – 2010-03-27 09:35:22
看看我的头一个问题请 – Sergey 2010-03-27 09:45:28
任何相似的IRC RFC仅仅是巧合,我从来不看它,我也不知道IRC如何工作。我只想着一些常识来改进他的实施。 – Blindy 2010-03-27 10:01:06