夥計們,所以這裏是另一回事。多線程TCP
private void Form1_Load(object sender, EventArgs e)
{
sck.Connect("127.0.0.1", 8080);
int s = sck.Send(Encoding.Default.GetBytes("A" + "~" + "B" + "~" + "C" + "~" + "D"));
}
有沒有辦法將它們分別發送到服務器?並接收它們並將它們分別添加到listView中而不會分裂? 下面的clientdata是無效負載形成整個整數
void client_Received(Client sender, byte[] data)
{
Invoke((MethodInvoker)delegate
{
for (int i = 0; i < listView1.Items.Count; i++)
{
Client client = listView1.Items[i].Tag as Client;
if (client.ID == sender.ID)
{
clientdata = Encoding.Default.GetString(data); ;
string[] str = clientdata.Split('~');
listView1.Items[i].SubItems[2].Text = str[0];
listView1.Items[i].SubItems[3].Text = str[1];
listView1.Items[i].SubItems[4].Text = str[2];
listView1.Items[i].SubItems[5].Text = str[3];
break;
}
}
});
}
我想改變這一空白類似:
void client_Received(Client sender, byte[] A, byte[] B, byte[] C, byte[] D)
{
}
這使用'NetworkStream'而不是原始套接字,但想法是一樣的。見http://blog.mischel.com/2013/09/24/reading-data-from-streams-part-3/ –