tcp udp都是基于套接字(socket)想怎么用就怎么用。端口不冲突就行。
udp做个端口绑定,然后就可以任意发了。又不管对方接受没。
tcp服务端得监听某个端口,然后处理连接上来的客户端
tcp客户端发起连接,指定ip和端口,连接上就可以发信息了。
http是应用层协议。

解决方案 »

  1.   

    随便用,我现在就是混着用的,还有短信猫 UDP TCP   
      

  2.   

    可以加qq给我说详细些么,谢大神了,我qq:1225119390   
      

  3.   

    tcp长连接通常不会去关闭,一直到客户端进程结束。目的是随时接受服务器推送的消息。udp跟服务器之间不存在什么真正的连接,那Connect语句只是逻辑上的设置本地属性而并不与服务器握手。udp根本就是无真正连接的协议,因此无法保证发送成功率。你也不用纠结于什么“udp连接”。在.net framwork封装的TcpListener类型中,其Tcp默认连接数是 int.MaxValue,你可以看看这个数是多大。进行Tcp编程,应该尽量使用TcpListener和TcpClient(传输消息使用NetworkStream类),而不是Socket类。不仅仅因为这两三类封装得很高级很简练,而且因为其底层会自动使用完成端口(IOCP)技术,比Socket的默认技术更高级。我们做软件,都是拿公网(互联网)来作为基本的验收测试。客户端在NAT路由器后边,经常还在两层或者三层NAT路由器后边。如果你只会做局域网内小软件,也许一些公司不懂这个差别,但是我相信也还有更多的公司懂得这个软件开发的差别。发送文件的时序设计、是否接收端创建一个文件夹,这属于业务设计。你设计成为什么样,就要按照设计来编写代码。从来没有谁(除了一些满脑子只想着“这样写代码比较省力气”的学生)会仅从编码出发来说“我不想创建文件夹”或者说“我就想创建文件夹”。程序员说什么都是错的,他必须听设计人员的。
      

  4.   

    对于一个以在互联网上可以使用为目的的 IM 来说,它首先要实现在公网上传输聊天消息和文件的能力。然后,等你一切都测试妥当,你可能需要花一周时间对其内部个别内部做出一个重要扩展:让客户端登录到服务器时能够带上客户端内部本地测试信息。客户端可以作为一个小的“服务器”接受对方消息。发送消息和文件等时可以先尝试在网段内直接连接,如果连接失败则通过系统的服务器转发。实际上类似Skype之类的系统,会自动查找哪一个客户端可以作为另外两个客户端的转发服务器,然后通过一个客户端给另外两个客户端做中转。
      

  5.   

    就像我现在做的这个,哪些功能需要udp,哪些功能需要tcp,   还是说只有登录的时候用到一点点udp,剩下都是tcp?   中间说“QQ使用udp访问服务器,然后通过服务器转发给另一个客户端。”  是把什么东西通过服务器转发给另外一个客户端?
      

  6.   

    转发的信令(消息)啊。你用udp或者tcp,发送什么?
      

  7.   

    P2P怎么实现UDP和TCP混合使用我也想知道,看看大神们的解答。
      

  8.   

    你说的好简单,我想知道的是怎么可以在外网上进行通信 而不仅仅是内网啊  还有就是tcp和udp在即时通讯软件中分别负责什么功能,可不可以一起使用,一起使用的话需要注意什么,我太次了  没有在网上找到符合我要求的代码,也没有找到我想要的答案。
      

  9.   

    你想过的 别人一样能想过..你想做的 别人一样也做过..无非就是一个服务 开启监听 客户端TCP/IP  通过与远程服务建立连接,并且在服务端建立变量或者数据库来保存客户端连接状态以及IP信息.A发送信息给B无非就是A发送信息到服务器 服务器做解析.看是给谁的.如果是给B那么找到B的连接.send一个byte[] 就OK了..所以 16#说的好.这个规则弄好了 就好说..