上面介绍了通讯的基类,下面就是使用那个类进行发送和接收的部分:

二、发送部分:

  发送咱们使用了多线程,可以同时进行多个任务,比如发送文件、发送文本等,互不影响:

发送文本方法:

    private void StartSendText(string strHost,int iPort,string strInfo)
  {
    SendText stText = new SendText(strHost,iPort,strInfo,new CommunClass.OnSend(OnSendDrawProgress)) ;
    StartThread(new ThreadStart(stText.Send)) ;
  }


下面是他调用用到的一些方法:

开始一个线程

    private void StartThread(ThreadStart target)
  {
    Thread doStep = new Thread(target) ;           
    doStep.IsBackground = true ;
    doStep.Start() ;
  }


发送一部分(本文设置的是1024字节)成功后的回调方法

    public void OnSendDrawProgress(int iTotal,int iSending)
      {   
    if (iTotal != pbMain.Maximum)
      pbMain.Maximum = iTotal ;
    pbMain.Value = iSending ;
  }


因为使用的是线程,所以发送文本使用的是一个发送文本类的方法,该类如下:
使用C#进行点对点通讯和文件传输(发送接收部分)public class SendText
      

这样就可以使用一个线程发送文本了。

发送文件的方法也类似:

private void StartSendFile(string strHost,int iPort,string strFile)
{
  SendFile sfFile = new SendFile(strHost,iPort,strFile,this.pbMain) ;
  pbMain.Value = 0 ;
  StartThread(new ThreadStart(sfFile.Send)) ;        
}


发送文件的类:
使用C#进行点对点通讯和文件传输(发送接收部分)public class SendFile
当然,你发送一个命令让服务器端启动一个程序(靠,这不成木马了吗?)也可以:

俺这里只给出一部分代码,其余的您自己可以发挥以下:

使用C#进行点对点通讯和文件传输(发送接收部分)public class ExeCuteFile
三、下面是服务器端接受信息的代码:

创建监听:
使用C#进行点对点通讯和文件传输(发送接收部分)


开始监听:


开始监听后,对于每一个监听到的客户端的连接都用一个单独的线程来处理,处理通过类DealWithSocket来完成,下面是类代码:
使用C#进行点对点通讯和文件传输(发送接收部分) 
使用C#进行点对点通讯和文件传输(发送接收部分)
public class DealWithSocket

相关文章:

  • 2022-12-23
  • 2021-05-17
  • 2021-08-01
  • 2022-01-14
  • 2022-12-23
  • 2022-01-25
猜你喜欢
  • 2022-12-23
  • 2021-08-16
  • 2021-07-03
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案