基于TCPIP的客户机服务器程序

来源:互联网 发布:怎么在淘宝开代购店 编辑:程序博客网 时间:2024/04/28 22:39

Server:

namespace MyTcpServer{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        Socket newsock;        Socket client;        Thread thread;        private void button1_Click(object sender, EventArgs e)        {            try            {                IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 5555);                newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);                newsock.Bind(ipep);                newsock.Listen(10);                thread = new Thread(start);                CheckForIllegalCrossThreadCalls = false;                thread.Start();            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void start(object obj)        {            try            {                client = newsock.Accept();                textBox1.Text = "连接成功";                IPEndPoint newclient = (IPEndPoint)client.RemoteEndPoint;                byte[] data = new byte[1024];                while (true)                {                    client.Receive(data);                    textBox1.Text = textBox1.Text + "\r\n" + newclient.ToString() + Encoding.Unicode.GetString(data);                }            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void button2_Click(object sender, EventArgs e)        {            string message = textBox2.Text;            byte[] data = new byte[1024];            data = Encoding.Unicode.GetBytes(message);            if(client.Connected)                client.Send(data);        }    }}

Client:

namespace MyTCPClient{    public partial class Form1 : Form    {        Socket newsock;        Thread thread;        public Form1()        {            InitializeComponent();        }        private void button1_Click(object sender, EventArgs e)        {            try            {                newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);                IPAddress remoteIP = IPAddress.Parse("127.0.0.1");                newsock.Connect(remoteIP, 5555);//阻塞                textBox1.Text += "连接成功";                thread = new Thread(start);                CheckForIllegalCrossThreadCalls = false;                thread.Start();            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void start()        {            try            {                byte[] data = new byte[1024];                while (true)                {                    newsock.Receive(data);                    string message2 = Encoding.Unicode.GetString(data);                    textBox1.Text += "\r\n" + newsock.RemoteEndPoint.ToString() + message2;                }            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }        private void button2_Click(object sender, EventArgs e)        {            try            {                string message = textBox2.Text;                byte[] data = new byte[1024];                data = Encoding.Unicode.GetBytes(message);                newsock.Send(data);            }            catch (Exception ex)            {                MessageBox.Show(ex.ToString());            }        }    }}


0 0
原创粉丝点击