有关socket通信

lary_li 2012-05-10 03:39:42
我想做个简单的聊天程序,一个服务器端多个客户端,服务器端只起连接作用,连接成功后客户端和客户端通信,服务器不参与,如何做,大家帮忙想想办法
...全文
229 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
lary_li 2012-05-14
  • 打赏
  • 举报
回复
向超人们求助
lary_li 2012-05-14
  • 打赏
  • 举报
回复
顶一下
lary_li 2012-05-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
最起码的还得有一台服务器,告诉某一个客户端“其他客户端的情况”。
不然网络穿透怎么做,即使广播也要知道具体网段吧。
不然你知道两个ip 一个是192.168.0.1 一个是192.168.0.2,你认为这是在相同网段的么?可是,确实可能处在不同的路由下。

所谓client2client,其实也就是client有client+server的功能,如果要实现不同网段间穿透,必然有“置身事外的……
[/Quote]
服务器肯定是有的,但是只是用来更新客户端状态,还有客户端登陆之后 向别的客户端通知 上线
铜臂阿铁木 2012-05-11
  • 打赏
  • 举报
回复
最起码的还得有一台服务器,告诉某一个客户端“其他客户端的情况”。
不然网络穿透怎么做,即使广播也要知道具体网段吧。
不然你知道两个ip 一个是192.168.0.1 一个是192.168.0.2,你认为这是在相同网段的么?可是,确实可能处在不同的路由下。

所谓client2client,其实也就是client有client+server的功能,如果要实现不同网段间穿透,必然有“置身事外的服务器”的参与,不然处在某一特定网络环境内的server是有局限性的。
典型的例子是“飞鸽传书”,不连通服务器,同一局域网内可用,不同局域网无法连通,连通服务器,广域网可用。
只在此山中 2012-05-11
  • 打赏
  • 举报
回复
LZ是想做一个类似P2P通信的功能(P2P服务器和客户端),这样涉及到程序要进行外网穿透,如uPnp.
rabbitlzx 2012-05-11
  • 打赏
  • 举报
回复
这是一个基于socket的聊天程序http://www.codeproject.com/Articles/12893/TCP-IP-Chat-Application-Using-C
mizuho_2006 2012-05-10
  • 打赏
  • 举报
回复
那腾讯岂不是一台服务器都不需要了?
lary_li 2012-05-10
  • 打赏
  • 举报
回复
自己顶一下,哪位来帮忙一下
lary_li 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
多设几台服务器就可以了。
[/Quote]
没有那种直接实现客户端对客户端的通信的么,一定要通过服务器中转客户端发送的消息么
mizuho_2006 2012-05-10
  • 打赏
  • 举报
回复
多设几台服务器就可以了。
mizuho_2006 2012-05-10
  • 打赏
  • 举报
回复
Socket通信必须要有服务端的。
lary_li 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:

引用 3 楼 的回复:
服务端起到消息转发的作用。

能不能不通过服务器啊


服务器连接到两个client时,把其中一个client的信息发给另一个。
[/Quote]
这个我知道,找到标识然后服务器转发的,但是如果客户端多了的话全靠服务器端转发不现实吧
铜臂阿铁木 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
服务端起到消息转发的作用。

能不能不通过服务器啊
[/Quote]

服务器连接到两个client时,把其中一个client的信息发给另一个。
lary_li 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
服务端起到消息转发的作用。
[/Quote]
能不能不通过服务器啊
mizuho_2006 2012-05-10
  • 打赏
  • 举报
回复
服务端起到消息转发的作用。
lary_li 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
请参考:
http://www.cnblogs.com/guoyiqi/archive/2011/07/26/2139181.html

很详细了,如果不明白,针对某个知识点再找些书或资料看看即可。
[/Quote]
这个我看过了,我想要的是客户端建立连接后就不再参与了所有的通信完全由客户端来自己来完成。 就是client -client 的通信,服务器不管
暖枫无敌 2012-05-10
  • 打赏
  • 举报
回复
请参考:
http://www.cnblogs.com/guoyiqi/archive/2011/07/26/2139181.html

很详细了,如果不明白,针对某个知识点再找些书或资料看看即可。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧