C#的TcpClient和TCPSocket简单通信
2017-09-03 15:10
399 查看
服务端程序
客户端程序
private void button1_Click(object sender, EventArgs e) { int port1 = Convert.ToInt32(port.Text); IPEndPoint p = new IPEndPoint(IPAddress.Any,port1); server = new TcpListener(p); //最多接受20个连接数 server.Start(20); lbshow.Text = "服务器启动"; Thread th = new Thread(listen); th.IsBackground = true; th.Start(server); } public void listen(object server) { while (true) { //强制类型转换 TcpListener server1 = server as TcpListener; client = server1.AcceptTcpClient(); lbshow.Text = "已经和客户端链接"; //服务器端不断的接收数据 Thread th1 = new Thread(receive); th1.IsBackground = true; th1.Start(client); } } public void receive(object s) { TcpClient client1 = s as TcpClient; while (true) { try { Byte[] bytes = new Byte[256]; stream = client1.GetStream(); int n = stream.Read(bytes, 0, bytes.Length); string data = Encoding.UTF8.GetString(bytes, 0, bytes.Length); //说明客户端断开了 if (n == 0) { lbshow.Text = "已经和客户端断开"; stream.Close(); client1.Close(); break; } listBox1.Items.Add("客户端" + data); } catch (Exception e) { Console.WriteLine(e); } finally { lbshow.Text = "已经和客户端断开"; stream.Close(); client1.Close(); } } } //向客户端发送数据 private void btnstart_Click(object sender, EventArgs e) { byte[] msg = Encoding.UTF8.GetBytes(message.Text); 4000 stream = client.GetStream(); stream.Write(msg,0,msg.Length); } //服务器端接受客户端数据 private void btnreceive_Click(object sender, EventArgs e) { Byte[] bytes = new Byte[256]; stream = client.GetStream(); stream.Read(bytes,0,bytes.Length); string data = Encoding.UTF8.GetString(bytes,0,bytes.Length); listBox1.Items.Add("客户端"+data); } private void btnabort_Click(object sender, EventArgs e) { if (stream != null) stream.Close(); if (client != null) client.Close(); if (server != null) server.Stop(); } //程序加载的时候取消跨线程的检查 private void Form1_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; }
客户端程序
private void btnstart_Click(object sender, EventArgs e) { //获取ip string strip = ipadress.Text; //获取端口 int port1 = Convert.ToInt32( port.Text); //连接 client = new TcpClient(); client.Connect(strip,port1); }
相关文章推荐
- C# Socket TCP简单例子(服务器与客户端通信)
- 【C#】使用TcpListener和TcpClient实现简单通信
- c++builder上使用TIDTCPServer和TIDTCPClient进行简单通信,如何通过代码动态设置TIDTCPServer的Bindings属性。
- 利用Tcp和socket实现的客户端与服务端的简单通信
- linux下基于TCP简单的socket通信程序
- Linux C TCP Socket实现客户与服务器简单通信
- Socket 简单通信事例 (C#版)
- Linux C TCP Socket实现客户与服务器简单通信
- C#套接字Socket编程之最简单通信
- linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)
- 简单用C#编写socket作为客户端与Linux下C++编写服务器端通信(未完善)
- Flex 与 C# socket 通信(最简单的例子)
- Java 基于TCP/IP 实现简单的 socket 通信
- C# Socket简单例子(服务器与客户端通信)
- linux下socket实现TCP通信的简单程序接口封装
- C#网络编程笔记(1) -- TCP Socket通信基本过程和思路
- c# socket 、TCPClient、TCPListen…
- 【C#】Socket客户端与服务器的简单通信
- C# Socket与TcpListener、TcpClient和UdpClient的区别及联系
- 【原创】TCP Socket 简单练习 --- 新进程辅助通信 分类: Linux --- 应用程序设计 2014-12-23 10:27 64人阅读 评论(0) 收藏