csharp tcp/ip连接发送消息
来源:互联网 发布:图像分割算法有哪些 编辑:程序博客网 时间:2024/05/16 06:45
public Form6()
{
client = new TcpClient();
InitializeComponent();
}
const int BufferSize = 8192;//缓存大小
Regex r = new Regex(@"(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])");
public TcpClient client;
public NetworkStream stream;
// public Thread thread;
public Thread thread1;
IPEndPoint iep;
private void button1_Click(object sender, EventArgs e)
{
if (this.button1.Text != "取消")
{
if (!r.IsMatch(this.textBox1.Text))
{
MessageBox.Show("你输入的IP地址有错,请检查后重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.textBox1.Focus();
}
else
{
this.button1.Text = "取消";
this.label1.Text = "正向服务器发送连接请求中..........";
string ip = this.textBox1.Text;
int port = Convert.ToInt32(this.textBox2.Text);
iep = new IPEndPoint(IPAddress.Parse(ip), port);
try
{
client.Connect(iep);
stream = client.GetStream();
thread1 = new Thread(new ThreadStart(connect));
thread1.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
else
{
this.button1.Text = "连接到服务器";
}
}
public void connect()
{
Control.CheckForIllegalCrossThreadCalls = false;
while( true )
{
// NetworkStream MyStream = client.GetStream();
byte [] bytes = new byte[2048];
stream.Read(bytes,0,bytes.Length);
string message = System.Text.Encoding.Default.GetString(bytes);
//Message += message + "\n";
richTextBoxReceive.Text += message + "\n";
}
}
public void send(string msg)
{
try
{
// NetworkStream sendStream = client.GetStream();
Byte[] sendBytes = Encoding.Default.GetBytes(msg);
stream.Write(sendBytes, 0, sendBytes.Length);
}
catch (System.Exception e)
{
richTextBox1.Text = e.ToString(); ;
}
}
private void button3_Click_1(object sender, EventArgs e)
{
send(richTextBox1.Text);
}
private void Form6_FormClosed(object sender, FormClosedEventArgs e)
{
if (client.Connected)
{
client.Close();
thread1.Abort();
stream.Close();
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex>=0)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
}
}
private void button7_Click(object sender, EventArgs e)
{
string name = DateTime.Today.ToString("yyyyMMddhhmmss");
string geshi=".txt";
string path = @"..\..\文件";
path += name;
path += geshi;
FileStream fs;
StreamWriter sw;
fs = new FileStream(path, FileMode.Create);
sw = new StreamWriter(fs, Encoding.Default);
sw.Write(richTextBoxReceive.Text);
sw.Close();
fs.Close();
}
}
{
client = new TcpClient();
InitializeComponent();
}
const int BufferSize = 8192;//缓存大小
Regex r = new Regex(@"(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])");
public TcpClient client;
public NetworkStream stream;
// public Thread thread;
public Thread thread1;
IPEndPoint iep;
private void button1_Click(object sender, EventArgs e)
{
if (this.button1.Text != "取消")
{
if (!r.IsMatch(this.textBox1.Text))
{
MessageBox.Show("你输入的IP地址有错,请检查后重新输入", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.textBox1.Focus();
}
else
{
this.button1.Text = "取消";
this.label1.Text = "正向服务器发送连接请求中..........";
string ip = this.textBox1.Text;
int port = Convert.ToInt32(this.textBox2.Text);
iep = new IPEndPoint(IPAddress.Parse(ip), port);
try
{
client.Connect(iep);
stream = client.GetStream();
thread1 = new Thread(new ThreadStart(connect));
thread1.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
else
{
this.button1.Text = "连接到服务器";
}
}
public void connect()
{
Control.CheckForIllegalCrossThre
while( true )
{
// NetworkStream MyStream = client.GetStream();
byte [] bytes = new byte[2048];
stream.Read(bytes,0,bytes.Length);
string message = System.Text.Encoding.Default.GetString(bytes);
//Message += message + "\n";
richTextBoxReceive.Text += message + "\n";
}
}
public void send(string msg)
{
try
{
// NetworkStream sendStream = client.GetStream();
Byte[] sendBytes = Encoding.Default.GetBytes(msg);
stream.Write(sendBytes, 0, sendBytes.Length);
}
catch (System.Exception e)
{
richTextBox1.Text = e.ToString(); ;
}
}
private void button3_Click_1(object sender, EventArgs e)
{
send(richTextBox1.Text);
}
private void Form6_FormClosed(object sender, FormClosedEventArgs e)
{
if (client.Connected)
{
client.Close();
thread1.Abort();
stream.Close();
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArg
{
if(e.RowIndex>=0)
{
textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
}
}
private void button7_Click(object sender, EventArgs e)
{
string name = DateTime.Today.ToString("yyyyMMddhhmmss");
string geshi=".txt";
string path = @"..\..\文件";
path += name;
path += geshi;
FileStream fs;
StreamWriter sw;
fs = new FileStream(path, FileMode.Create);
sw = new StreamWriter(fs, Encoding.Default);
sw.Write(richTextBoxReceive.Text);
sw.Close();
fs.Close();
}
}
- csharp tcp/ip连接发送消息
- TCP/IP (二) TCP消息的发送
- LWIP 修改ip TCP发送 连接状态
- Socket编程 (连接,发送消息) (Tcp、Udp) - Part1
- 建立tcp/ip连接,vc6实现客户端(发送数据)
- TCP/IP 断开连接
- TCP/IP连接状态图
- TCP/IP连接状态图
- TCP/IP连接状态图
- TCP/IP连接状态图
- TCP/IP连接
- ActiveMQ - tcp 协议发送消息
- TCP 消息发送客户端Client
- qt 写的tcp客户端程序实现简单的连接接受和发送消息
- Socket编程 (连接,发送消息) (Tcp、Udp) ,这个是同步,跟上一篇差不多
- TCP/IP (三) TCP消息的接收
- iOS 怎样通过UDP发送广播寻找设备,拿到ip地址,然后用TCP 连接设备
- ActiveMQ发送消息,接受消息。点对点连接
- 168. Fools learn nothing from wise men, but wise men learn much from fools.愚者不学无术,智者不耻下问
- 组建一个最简单的局域网(两台计算机)
- 跟我一步一步组建局域网
- MFC按行读取txt数据并分割每行数据
- 可访问性级别
- csharp tcp/ip连接发送消息
- csharp操纵access数据库类
- Javascript跨域和Ajax跨域解决方案
- Linq 之 join on 查询
- ORACL instr 函數 substr函數
- CopyU! v2.0.377.207新版正式上线!
- 求逆序数之分治排序
- 小波变换网文精粹:小波变换教程(二十)
- 文档