• 大小: 3.65M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-05-02
  • 语言: C#
  • 标签: 客户端  服务器  服务  

资源简介

提供了服务器和客户端连接、通信和文件传输

资源截图

代码片段和文件信息

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 _2222222
{
    public partial class frmClient : Form
    {
        public frmClient()
        {
            InitializeComponent();
            TextBox.CheckForIllegalCrossThreadCalls = false;
        }

        Thread threadClient = null; // 创建用于接收服务端消息的 线程;
        Socket sockClient = null;
        private void btnConnect_Click(object sender EventArgs e)
        {
            IPAddress ip = IPAddress.Parse(txtIp.Text.Trim());
            IPEndPoint endPoint=new IPEndPoint (ipint.Parse(txtPort.Text.Trim()));
            sockClient = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
            try
            {
                ShowMsg(“与服务器连接中……“);
                sockClient.Connect(endPoint);
                
            }
            catch (SocketException se)
            {
                MessageBox.Show(se.Message);
                return;
                //this.Close();
            }
            ShowMsg(“与服务器连接成功!!!“);
            threadClient = new Thread(RecMsg);
            threadClient.IsBackground = true;
            threadClient.Start();

        }

        void RecMsg()
        {
            while (true)
            {
                // 定义一个2M的缓存区;
                byte[] arrMsgRec = new byte[1024 * 1024 * 2];
                // 将接受到的数据存入到输入  arrMsgRec中;
                int length = -1;
                try
                {
                    length = sockClient.Receive(arrMsgRec); // 接收数据,并返回数据的长度;
                }
                catch (SocketException se)
                {
                    ShowMsg(“异常;“ + se.Message);
                    return;
                }
                catch (Exception e)
                {
                    ShowMsg(“异常:“+e.Message);
                    return;
                }
                if (arrMsgRec[0] == 0) // 表示接收到的是消息数据;
                {
                    string strMsg = System.Text.Encoding.UTF8.GetString(arrMsgRec 1 length-1);// 将接受到的字节数据转化成字符串;
                    ShowMsg(strMsg);
                }
                if (arrMsgRec[0] == 1) // 表示接收到的是文件数据;
                {
                   
                    try
                    {
                        SaveFileDialog sfd = new SaveFileDialog();

                        if (sfd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                        {// 在上边的 sfd.ShowDialog() 的括号里边一定要加上 this 否则就不会弹出 另存为 的对话框,而弹出的是本类的其他窗口,,这个一定要注意!!!【解释:加了this的sfd.ShowDialog(this),“另存为”窗口的指针才能被SaveFileDialog的对象调用,若不加thisSaveFileDialog 的对象调用的是本类的其他窗口了,当然不弹出“另存为”窗口。】

                            string fileSavePath = sfd.FileName;// 获得文件保存的路径;
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-07-12 08:00  TCP 通信(数据、文件的传输)\
     目录           0  2020-08-26 19:32  TCP 通信(数据、文件的传输)\客户端\
     目录           0  2020-08-19 16:20  TCP 通信(数据、文件的传输)\客户端\.vs\
     目录           0  2020-08-19 16:20  TCP 通信(数据、文件的传输)\客户端\.vs\2222222\
     目录           0  2020-08-19 16:20  TCP 通信(数据、文件的传输)\客户端\.vs\2222222\v16\
     文件       53248  2020-09-06 19:10  TCP 通信(数据、文件的传输)\客户端\.vs\2222222\v16\.suo
     文件        3872  2012-07-11 16:40  TCP 通信(数据、文件的传输)\客户端\2222222.csproj
     文件        1071  2020-08-19 16:20  TCP 通信(数据、文件的传输)\客户端\2222222.sln
     目录           0  2012-07-12 07:59  TCP 通信(数据、文件的传输)\客户端\bin\
     目录           0  2012-07-12 07:59  TCP 通信(数据、文件的传输)\客户端\bin\Debug\
     文件     4103168  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\bin\Debug\2222222.exe
     文件       30208  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\bin\Debug\2222222.pdb
     文件       11600  2012-07-11 19:31  TCP 通信(数据、文件的传输)\客户端\bin\Debug\2222222.vshost.exe
     文件         490  2010-03-17 22:39  TCP 通信(数据、文件的传输)\客户端\bin\Debug\2222222.vshost.exe.manifest
     文件        7253  2020-08-26 19:32  TCP 通信(数据、文件的传输)\客户端\Form1.cs
     文件        9250  2020-08-26 19:32  TCP 通信(数据、文件的传输)\客户端\Form1.Designer.cs
     文件        6020  2020-08-26 19:32  TCP 通信(数据、文件的传输)\客户端\Form1.resx
     目录           0  2012-07-12 07:59  TCP 通信(数据、文件的传输)\客户端\obj\
     目录           0  2012-07-12 07:59  TCP 通信(数据、文件的传输)\客户端\obj\x86\
     目录           0  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\
     文件         238  2020-08-19 15:27  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\.NETframeworkVersion=v4.0Profile=Client.AssemblyAttributes.cs
     文件          42  2020-08-19 15:27  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.csproj.CoreCompileInputs.cache
     文件        2475  2020-08-19 15:27  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.csproj.FileListAbsolute.txt
     文件        1101  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.csproj.GenerateResource.cache
     文件       32226  2020-08-19 15:27  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.csprojAssemblyReference.cache
     文件     4103168  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.exe
     文件       30208  2020-08-26 19:33  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\2222222.pdb
     文件        5157  2020-08-26 19:32  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        7632  2020-08-19 15:27  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        1112  2012-07-11 19:28  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\GenerateResource.read.1.tlog
     文件        1108  2012-07-11 19:28  TCP 通信(数据、文件的传输)\客户端\obj\x86\Debug\GenerateResource.write.1.tlog
............此处省略54个文件信息

评论

共有 条评论