高手给个思路或者代码我?
我想的是:
首先获取自己、对方内网和外网的IP 
然后主要是一个包的发送和搜索目的端的一个过程的 
不知道是不是这样,知道的能否给个代码,说详细点,本人很笨蛋的哦
在线等!立刻给分

解决方案 »

  1.   

    你在网内建立一个主机,里面有你的IM Service服务,然后其他的IM客户端就通过TCP/IP连接你的主机,并通过主机与其他的客户端连接,连接成功后通过UDP与对方客户端直连(因为你之前不知道对方的IP,只有通过主机来告诉你了)。所以技术上说:
    你的主机:异步SOCKET编程,TCP/IP协议,队列等
    你的客户端:SOCKET编程,TCP/IP,UDP两路协议等。
    其他的具体你可以自己到网上查查了
      

  2.   

    外网建一个QQ服务器。
    Client连接这个Server就行了。
      

  3.   

    如果你在局域網建服務器端,首先要在外网IP是報出你的內网IP与端口
      

  4.   

    要看你使用的是那种方式实现了
    一般有两种方式实现:
    第一种是通过服务器转发,这种方式比较简单,只需在服务器上建立一个用户链表,然后客户可以通过查找该链表就能与相应的客户通信了,这中方式缺点是比较占用服务器资源
    第二种就是象QQ一样使用P2P方式(既点到点方式),这种方式相对比较复杂,涉及到的主要技术有:UDP打洞,Nat穿透,防火墙穿透等,这中方式优点是几乎不占用服务器资源,缺点是不能够100%穿透,包括QQ在内
    至于源码,网上有许多,随便google一下就是一大把,不过.net的源码就比较少,大多都是VC或delphi的代码