c#带界面-客户端与服务器通信TCP
- 格式:doc
- 大小:56.50 KB
- 文档页数:5
服务器端界面
服务器端代码:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using .Sockets;
using System.Threading;
using System.IO;
using ;
using System.Collections;
namespace IMS.Server
{
public partial class Server : Form
{
TcpListener myListener;
TcpClient tcpClient = new TcpClient();
Thread mythread;
NetworkStream ns;
public Server()
{
InitializeComponent();
}
private void Server_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
mythread = new Thread(new ThreadStart(receive));
mythread.IsBackground = true;
mythread.Start();
}
private void receive()
{
myListener = new TcpListener(IPAddress.Parse("192.168.1.106"), 8080);
myListener.Start();
tcpClient = myListener.AcceptTcpClient();
while (true)
{
string rec = "";
ns = tcpClient.GetStream();
byte[] bytes = new byte[1024];
ns.Read(bytes,0,bytes.Length);
rec = Encoding.Unicode.GetString(bytes);
richTextBox1.Text = rec;
ns.Flush();
}
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
ns = tcpClient.GetStream();
byte[] bytes = new byte[1024];
// bytes = Encoding.Unicode.GetBytes(sendmsg);
bytes = Encoding.Unicode.GetBytes(richTextBox1.Text +"\r\n" + "服务器说:" + richTextBox2.Text);
ns.Write(bytes,0,bytes.Length);
richTextBox1.Text = richTextBox1.Text + "\r\n" + "服务器说:" + richTextBox2.Text;
richTextBox2.Clear();
}
catch { }
}
private void btnstop_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
客户端界面:
客户端代码:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using .Sockets;
using System.Threading;
using System.IO;
using ;//Endpoint
using System.Collections;
namespace IMS.Client
{
public partial class CLient : Form
{
TcpClient tcpClient = new TcpClient();
NetworkStream ns;
Thread myThread;
public CLient()
{
InitializeComponent();
}
private void CLient_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
myThread = new Thread(new ThreadStart(receive));
myThread.IsBackground = true;
myThread.Start();
}
private void receive()
{
tcpClient.Connect(IPAddress.Parse("192.168.1.106"), 8080);
while (true)
{
ns = tcpClient.GetStream();
string ReadMessage = "";
byte[] bytes = new byte[1024];
ns.Read(bytes, 0, bytes.Length);
ReadMessage = Encoding.Unicode.GetString(bytes); richTextBox1.Text = ReadMessage;
ns.Flush();
}
}
private void btnSend_Click(object sender, EventArgs e)
{