(转)winform下TCP通信的简单应用
2014-08-18 11:52
218 查看
本文转载自:http://blog.csdn.net/wanlong360599336/article/details/7557064
先看效果图:
![](http://my.csdn.net/uploads/201205/11/1336714702_4554.jpg)
TCP比较繁琐的就是三次握手定理,每次再发送数据前都要先建立连接确认。
先看效果图:
![](http://my.csdn.net/uploads/201205/11/1336714702_4554.jpg)
TCP比较繁琐的就是三次握手定理,每次再发送数据前都要先建立连接确认。
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; using System.Net.Sockets; using System.Threading; using System.IO; namespace TCP { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //启动服务端 TcpListener listener; delegate void SetTextCallBack(string text); private void button1_Click(object sender, EventArgs e) { //try //{ label2.Text = "服务端已开启.."; button1.Enabled = false; listener = new TcpListener(IPAddress.Any, 3000); listener.Start(); Thread th = new Thread(new ThreadStart(ReceiveMsg)); th.Start(); th.IsBackground = true; //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message); //} } public void ReceiveMsg() { while (true) { TcpClient client = listener.AcceptTcpClient(); byte[] buffer = new byte[9899]; NetworkStream stream = client.GetStream(); int len = stream.Read(buffer, 0, buffer.Length); string msg = Encoding.Unicode.GetString(buffer, 0, len); SetText(msg); stream.Flush(); stream.Close(); client.Close(); } } public void SetText(string text) { try { if (this.richTextBox1.InvokeRequired) { SetTextCallBack d = new SetTextCallBack(SetText); this.Invoke(d, new object[] { text }); } else { this.richTextBox1.Text += DateTime.Now.ToString() + "\n" + text + "\n"; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void button2_Click(object sender, EventArgs e) { try { //FileStream fs = new FileStream(textBox2.Text,FileMode.OpenOrCreate,FileAccess.Read); //byte[] buff=new byte[fs.Length]; //int rea = fs.Read(buff,0,buff.Length); string ip = textBox1.Text; string msg = richTextBox2.Text; //msg = string.Format("{0}:{1}:{2}:{3}:{4}:{5}",1,DateTime.Now.Ticks,"007","www","32",msg); TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse(ip), 3000); NetworkStream stream = client.GetStream(); byte[] buffer = Encoding.Unicode.GetBytes(msg); stream.Write(buffer, 0, buffer.Length); //stream.Write(buff,0,rea); //label6.Text = "文件发送成功!"; MessageBox.Show("发送成功!"); } catch (Exception ex) { MessageBox.Show("服务端未开启!"); } } private void button2_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { this.button2_Click(sender,e); } } //存放的目录 // private void button4_Click(object sender, EventArgs e) // { // FolderBrowserDialog fbd = new FolderBrowserDialog(); // if(fbd.ShowDialog()==DialogResult.OK) // { // textBox3.Text = fbd.SelectedPath; // } // } //发送的文件 /// private void button3_Click(object sender, EventArgs e) //{ // OpenFileDialog ofd = new OpenFileDialog(); // if(ofd.ShowDialog()==DialogResult.OK) // { // textBox2.Text = ofd.FileName; // } // } //文件发送 //private void button5_Click(object sender, EventArgs e) //{ // FileStream fs = new FileStream(textBox2.Text,FileMode.Open,FileAccess.Read); // byte[] buffer = new byte[fs.Length]; // int rea=fs.Read(buffer,0,buffer.Length); // TcpClient client = new TcpClient(); // string ip = textBox1.Text; // client.Connect(IPAddress.Parse(ip),3000); // NetworkStream ns = client.GetStream(); // ns.Write(buffer,0,rea); // MessageBox.Show("文件发送成功!"); // fs.Flush(); // ns.Flush(); // fs.Close(); // ns.Close(); //} } }
相关文章推荐
- winform下TCP通信的简单应用
- winform下UPD通信的简单应用
- (转)winform下UPD通信的简单应用
- winform下Socket通信的简单应用
- 实现采用客户/服务器通信模式,基于TCP网络通信协议的多客户端简单应用之案例分析
- 实现采用客户/服务器通信模式,基于TCP网络通信协议的多客户端简单应用
- 简单socket通信过程(TCP)
- winform程序之录入删除显示人员应用了一点arraylist(简单)
- SOCKET TCP的简单应用
- C#TCPClient应用-一个简单的消息发送和接收
- C#TCPClient应用-一个简单的消息发送和接收 (转)
- winform程序之comboBox控件应用四则运算(简单)
- winform程序之comboBox控件下拉列表的应用(简单)
- 谈谈TCP和UDP的一些简单应用
- 简单的socket通信TCP
- WinForm(C#) DataGridView简单应用示例
- winform程序之人员选择listbox控件应用了一点arraylist(简单)
- linux下socket实现TCP通信的简单程序接口封装
- 如何应用TCP/IP的套接字开发网络通信应用程序
- TCP/IP 通信协议 应用浅析