您现在的位置是: 软件 > 实用软件咨询 > 冲浪宝典 > 网络交流 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始


-C#下用P2P技术实现点对点聊天(1)
-P2P的商机
-P2P商业化应用思考
-第三代搜索引擎技术与P2P

C#下用P2P技术实现点对点聊天(2)
2003-03-13· ·王凯明··

1 2  下一页

  首先,程序运行后,用户得先按下“开始监听”按钮,按钮相应事件后,程序就进入了监听状态,状态栏有相应的显示。这样,本机就相当于“服务器/客户机”模式中的服务器了,其他计算机可以连接到本机并向本机发送消息。其他计算机通过该程序连接到本机是通过IP地址来实现的,C#对网络编程有很好的支持,所以程序员的工作量是比较小的。如此,一台计算机可以向另一台发送消息了。然而,这是个P2P程序,所以只要另一台计算机的用户也按下"开始监听"按钮,那台计算机也成了这台计算机的服务器了。于是就实现了消息互发功能,然而真正的服务器是不存在的,每台计算机都是服务器,每台计算机同时也是客户机,这就体现了P2P技术的"非中心化"原则。

  程序主要用到了一个Listen()函数和一个Send()函数。前者实现程序的监听功能,函数实现如下:

private void Listen(){ try
      {
            tcpl = new TcpListener(5656); 
       tcpl.Start();
          statusBar1.Text = "正在监听..."; 
             while(listenerRun)
         {
              Socket s = tcpl.AcceptSocket();
              Byte[] stream = new Byte[80];
               int i=s.Receive(stream) ;
               string message =
System.Text.Encoding.UTF8.GetString(stream);
             richTextBox1.AppendText(message);
            }
      }
    catch(System.Security.SecurityException)
      {
   MessageBox.Show("防火墙安全错误!","错误",
        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
      }
    catch(Exception)
        {
          statusBar1.Text = "已停止监听!";
    }
}

1 2  下一页

■ 相关内容
 C#下用P2P技术实现点对点聊天(1)
 P2P的商机
 P2P商业化应用思考
 第三代搜索引擎技术与P2P
 P2P有望在企业应用中显身手
 欧美版权法差异,老歌曲在P2P上可合法交换
 Linux病毒强攻 自组P2P网络
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!