首页 > 技术文章 > c# TCPclient

mengluo 2016-07-14 11:29 原文

服务端

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.Threading;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private TcpListener tcp;
        private void button1_Click(object sender, EventArgs e)
        {
            tcp = new TcpListener(IPAddress.Any, 5000);
            tcp.Start();
            Thread t = new Thread(server);
            t.IsBackground = true;
            t.Start(tcp);
        }

        private void server(object o) 
        {
            
            TcpListener list = o as TcpListener;
            this.textBox1.AppendText("连接成功"+"\r\n");
            while (true) 
            {
                const int buffer = 256;
                TcpClient client = list.AcceptTcpClient();
                NetworkStream strem = client.GetStream();
                byte[] b = new byte[buffer];
                int r = strem.Read(b, 0, buffer);
                string str = Encoding.UTF8.GetString(b, 0, r);
                
                this.textBox2.AppendText(client.Client.RemoteEndPoint.ToString() + ":"+str+"\r\n");
                strem.Close();

            }
        

        }


        public void showmsg(string msg) 
        {
            this.textBox2.AppendText(msg + "\r\n");
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
        }
    }
}

  客户端

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.Threading;


namespace client
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private TcpClient client;
        private void button1_Click(object sender, EventArgs e)
        {
            const int size = 406;
            client = new TcpClient();
            client.Connect(IPAddress.Parse("172.16.5.24"),5000);
            NetworkStream strem = client.GetStream();
            string str = this.textBox1.Text.Trim();
            byte[] b = Encoding.UTF8.GetBytes(str);
            strem.Write(b, 0, b.Length);
            strem.Close();
            client.Close();

            
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
        }
    }
}

  

推荐阅读