• 大小: 101KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C#
  • 标签: 123213  

资源简介

C#版的简单socket——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.Sockets;
using System.Net;
using System.Threading;

namespace Client
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            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“);
        }
        /// 
        /// 接收服务端返回的消息
        /// 

        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 { }
            }
        }
        /// 
        /// 向服务器发送消息
        /// 

        /// 
        /// 
        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;
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10752  2018-08-17 10:35  socket_TCP\Client\Client\Client\bin\Debug\Client.exe

     文件      22016  2018-08-17 10:35  socket_TCP\Client\Client\Client\bin\Debug\Client.pdb

     文件      11600  2018-08-17 10:34  socket_TCP\Client\Client\Client\bin\Debug\Client.vshost.exe

     文件        490  2012-06-06 02:06  socket_TCP\Client\Client\Client\bin\Debug\Client.vshost.exe.manifest

     文件       3671  2018-08-17 10:33  socket_TCP\Client\Client\Client\Client.csproj

     文件       2843  2018-08-17 10:35  socket_TCP\Client\Client\Client\Form1.cs

     文件       6384  2018-08-17 10:35  socket_TCP\Client\Client\Client\Form1.Designer.cs

     文件       5817  2018-08-17 10:35  socket_TCP\Client\Client\Client\Form1.resx

     文件        631  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.csproj.FileListAbsolute.txt

     文件        975  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.csproj.GenerateResource.Cache

     文件      10752  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.exe

     文件        180  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.Form1.resources

     文件      22016  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.pdb

     文件        180  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\Client.Properties.Resources.resources

     文件       2867  2018-08-17 10:31  socket_TCP\Client\Client\Client\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6356  2018-08-17 10:35  socket_TCP\Client\Client\Client\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        487  2018-08-17 10:31  socket_TCP\Client\Client\Client\Program.cs

     文件       1362  2018-08-17 10:31  socket_TCP\Client\Client\Client\Properties\AssemblyInfo.cs

     文件       2864  2018-08-17 10:31  socket_TCP\Client\Client\Client\Properties\Resources.Designer.cs

     文件       5612  2018-08-17 10:31  socket_TCP\Client\Client\Client\Properties\Resources.resx

     文件       1093  2018-08-17 10:31  socket_TCP\Client\Client\Client\Properties\Settings.Designer.cs

     文件        249  2018-08-17 10:31  socket_TCP\Client\Client\Client\Properties\Settings.settings

     文件        860  2018-08-17 10:31  socket_TCP\Client\Client\Client.sln

    ..A..H.     19456  2018-08-17 10:35  socket_TCP\Client\Client\Client.suo

     文件      11264  2018-08-17 10:35  socket_TCP\Sever\Sever\Sever\bin\Debug\Sever.exe

     文件      24064  2018-08-17 10:35  socket_TCP\Sever\Sever\Sever\bin\Debug\Sever.pdb

     文件      11600  2018-08-17 10:34  socket_TCP\Sever\Sever\Sever\bin\Debug\Sever.vshost.exe

     文件        490  2012-06-06 02:06  socket_TCP\Sever\Sever\Sever\bin\Debug\Sever.vshost.exe.manifest

     文件       3714  2018-08-17 10:35  socket_TCP\Sever\Sever\Sever\Form1.cs

     文件       6435  2018-08-17 10:35  socket_TCP\Sever\Sever\Sever\Form1.Designer.cs

............此处省略43个文件信息

评论

共有 条评论

相关资源