求教类似qq的通信软件的实现,该如何处理

求教类似qq的通信软件的实现
我是小菜b
求请教大神怎么通过socket来实现客户端间的通信,不经过服务器中转。
本来设想是通过一个socket绑定一个upd端口来监听所有好友发往该端口的数据。但是实际发现一个貌似一个端口只能监听一个remotePoint,那岂不是要给每个好友分配一个端口,这不现实的啊。

怎么才能实现一对多的udp监听?
或者别的方法监听所有好友?
------解决思路----------------------
引用:
先谢谢大家 我刚开始接触socket2天看着别人的代码自学tcp的能看懂
udp方面有个地方没看懂,socket开始监听端口以后有一个receiveFrom(byte[] data, EndPoint remoteEnd)的方法 这边的EndPoint是要对方客户端的ip吗?如果指定了一个ip怎么监听来自其他客户端的信息?


用UdpClient类,应该有个BeginReceive之类的异步方法收数据
虽然不清楚你说的receiveFrom究竟是个啥,目测应该是同步阻塞读,用这个当然是不行的吧,除非是要固定向某ip的设备读取数据
------解决思路----------------------
不要用receiveFrom
直接receive(同步)或BeginReceive(异步)
------解决思路----------------------
推荐一本书给你 《C#网络编程》  里面各种通讯模式都有包括你说的QQ  还有例程