2
我正在尝试使用聊天应用程序,并且我正在使用tcp套接字和线程化问题是如何等待命令并发送命令时间同一插座我如何发送和接收同一端口上同时使用套接字
public void GetTextFather()
{
string Command = "";
string text = "";
while (Command == "")
Command = Functions.serverrecievetext(ip, port);
if (Command == "Text")
{
while (text == "")
text = Functions.serverrecievetext(ip, port);
if (text != "")
{
listBox1.Invoke((MethodInvoker)delegate { this.listBox1.Items.Add(name + ":" + text); });
Thread t = new Thread(GetTextFather);
t.Start();
}
}
if (Command == "Typing")
{
label1.Invoke((MethodInvoker)delegate { label1.Visible = true; });
Thread t = new Thread(GetTextFather);
t.Start();
}
if (Command == "NotTyping")
{
label1.Invoke((MethodInvoker)delegate { label1.Visible = false; });
Thread t = new Thread(GetTextFather);
t.Start();
}
}
发送按钮点击
private void button1_Click(object sender, EventArgs e)
{string text=textBox1.Text;
listBox1.Items.Add("You:" + text);
if (text.Length != 0)
{
if (!flag)
{Functions.ClientSendTextPortsixty("Text", port);
Functions.ClientSendTextPortsixty(text, port);
}
else
{Functions.ServerSendbyip("Text", ip, port);
Functions.ServerSendbyip(text, ip, port);
}
}
textBox1.Text = "";
}
函数发送简单,通过socket发送文本和接收得到一个文本。 我有GetTextSon()一样GetTextFather ,如果您需要任何更多的信息仅低于