且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何建立TCP客户端服务器连接

更新时间:2022-06-20 22:38:17

));
Console.WriteLine( >>来自客户的数据 - + dataFromClient);
string serverResponse = 来自客户端的最后消息 + dataFromClient;
字节 [] sendBytes = Encoding.ASCII.GetBytes(serverResponse);
networkStream.Write(sendBytes, 0 ,sendBytes.Length);
networkStream.Flush();
Console.WriteLine( >> + serverResponse);
}
catch (例外情况)
{
Console.WriteLine(ex.ToString());
}
}

clientSocket.Close();
serverSocket.Stop();
Console.WriteLine( >>退出);
Console.ReadLine();

}
")); Console.WriteLine(" >> Data from client - " + dataFromClient); string serverResponse = "Last Message from client" + dataFromClient; Byte[] sendBytes = Encoding.ASCII.GetBytes(serverResponse); networkStream.Write(sendBytes, 0, sendBytes.Length); networkStream.Flush(); Console.WriteLine(" >> " + serverResponse); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine(" >> exit"); Console.ReadLine(); }



客户:


Client:

    public partial class Form1 : Form
    {
        System.Net.Sockets.TcpClient clientSocket = new System.Net.Sockets.TcpClient();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            msg("Client Started");
            clientSocket.Connect("127.0.0.1", 8281);
            label1.Text = "Client Socket Program - Server Connected ...";
        }


        public void msg(string mesg)
        {
            textBox1.Text = textBox1.Text + Environment.NewLine + " >> " + mesg;
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            NetworkStream serverStream = clientSocket.GetStream();
            byte[] outStream = System.Text.Encoding.ASCII.GetBytes(textBox2.Text + "


);
serverStream.Write(outStream, 0 ,outStream.Length);
serverStream.Flush();

byte [] inStream = new byte [ 10025 ];
serverStream.Read(inStream, 0 ,( int )clientSocket.ReceiveBufferSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
msg(returndata);
textBox2.Text = ;
textBox2.Focus();
}
}
"); serverStream.Write(outStream, 0, outStream.Length); serverStream.Flush(); byte[] inStream = new byte[10025]; serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize); string returndata = System.Text.Encoding.ASCII.GetString(inStream); msg(returndata); textBox2.Text = ""; textBox2.Focus(); } }


MSDN上有一些很好的入门示例。

套接字代码示例 [ ^ ]



你***先看看那里,忘记你到目前为止所编写的代码。

特别是在异步服务器套接字示例中查看>。

(这就是谢尔盖所说的)

客户可以是或者,根据您的需要。
There are some good "getting-started" examples on MSDN.
Socket Code Examples[^]

It is better that you start looking there and kind of forget about the code you have written so far.
Especially look in the the Asynchronous Server Socket Example.
(This is what Sergey is talking about)
The client can be either or, depending on your needs.