基本信息
源码名称:C#TCP通讯Socket协议
源码大小:0.10M
文件格式:.rar
开发语言:C#
更新时间:2019-10-19
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

通过Socket协议实现上位机与下位机的TCP连接

如有疑问可以联系qq号251534369


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.Windows.Forms;

namespace Demo
 {
     public partial class TCPClient2 : Form
     {
         public TCPClient2()
         {
             InitializeComponent();
         }
         Socket socketSend;
         private void bt_connect_Click(object sender, EventArgs e)
         {
             try
             {
                 //创建客户端Socket,获得远程ip和端口号
                 socketSend = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                 IPAddress ip = IPAddress.Parse(txt_ip.Text);
                 IPEndPoint point = new IPEndPoint(ip, Convert.ToInt32(txt_port.Text));
 
                 socketSend.Connect(point);
                 ShowMsg("连接成功!");
                 //开启新的线程,不停的接收服务器发来的消息
                 Thread c_thread = new Thread(Received);
                 c_thread.IsBackground = true;
                 c_thread.Start();
             }
             catch (Exception){
                 ShowMsg("IP或者端口号错误...");
             }
  
         }
         void ShowMsg(string str)
         {
             textBox1.AppendText(str "\r\n");
         }
         /// <summary>
         /// 接收服务端返回的消息
         /// </summary>
         void Received()
         {
             while (true)
             {
                 try
                 {
                     byte[] buffer = new byte[1024 * 1024 * 3];
                     //实际接收到的有效字节数
                     int len = socketSend.Receive(buffer);
                     if (len == 0)
                     {
                         break;
                 
                     }
                     string str = Encoding.UTF8.GetString(buffer, 0, len);
                     ShowMsg(socketSend.RemoteEndPoint ":" str);
                 }
                 catch { }
             }
         } 
         /// <summary>
         /// 向服务器发送消息
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void bt_send_Click(object sender, EventArgs e)
         {
             try
             {
                 string msg = txt_msg.Text.Trim();
                 byte[] buffer = new byte[1024 * 1024 * 3];
                 buffer = Encoding.UTF8.GetBytes(msg);
                 socketSend.Send(buffer);
             }
             catch { }
         }
 
         private void Form1_Load(object sender, EventArgs e)
         {
             Control.CheckForIllegalCrossThreadCalls = false;
         }
     }
 }