Control.CheckForIllegalCrossThreadCalls = false; Thread th1 = new Thread(Soct); //啟用線程 th1.Start(); public void Soct() //開始監聽 { TcpClient client = null; NetworkStream stream = null; byte[] buffer = null; string receiveString = null; IPAddress localIP = IPAddress.Parse("127.0.0.1"); int localPort = 9001; TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口實例化Listener listener.Start();//開始監聽 while (true) { client = listener.AcceptTcpClient();//接受一個Client buffer = new byte[client.ReceiveBufferSize]; stream = client.GetStream();//獲取網絡流 stream.Read(buffer, 0, buffer.Length);//讀取網絡流中的數據 stream.Close();//關閉流 client.Close();//關閉Client receiveString = Encoding.Default.GetString(buffer).Trim('\0');//轉換成字符串 textBox1.Text += receiveString + "\r\n"; } }
Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //發送數據 IPAddress ipAddress = new IPAddress(new byte[] { 127, 0, 0, 1 }); EndPoint point = new IPEndPoint(ipAddress, 8001); tcpClient.Connect(point); string message2 = "dddd"; tcpClient.Send(Encoding.UTF8.GetBytes(message2));
完整的
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipAddress = new IPAddress(new byte[] { 127, 0, 0, 1 }); EndPoint point = new IPEndPoint(ipAddress, 8001); tcpClient.Connect(point); string message2 = "dddd"; tcpClient.Send(Encoding.UTF8.GetBytes(message2)); } private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; Thread th1 = new Thread(Soct); //保存時,按鈕變灰 th1.Start(); } public void Soct() { TcpClient client = null; NetworkStream stream = null; byte[] buffer = null; string receiveString = null; IPAddress localIP = IPAddress.Parse("127.0.0.1"); int localPort = 9001; TcpListener listener = new TcpListener(localIP, localPort);//用本地IP和端口實例化Listener listener.Start();//開始監聽 while (true) { client = listener.AcceptTcpClient();//接受一個Client buffer = new byte[client.ReceiveBufferSize]; stream = client.GetStream();//獲取網絡流 stream.Read(buffer, 0, buffer.Length);//讀取網絡流中的數據 stream.Close();//關閉流 client.Close();//關閉Client receiveString = Encoding.Default.GetString(buffer).Trim('\0');//轉換成字符串 textBox1.Text += receiveString + "\r\n"; } } private void button2_Click(object sender, EventArgs e) { //接收數據 } } }