SOCKET问题,请求大家的帮助!!

jhlcss 2003-10-09 11:50:56
假设服务器S,两个客户端A,B。

A要给B发信息,A首先将信息发给服务器端,服务器怎么发给B?
...全文
30 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhlcss 2003-10-09
  • 打赏
  • 举报
回复
A,B的连接是一直保持的,但是如果A给B发消息,服务器和B是不是要重新建立一次连接啊。要不服务器,怎么给B发啊,虽然B和服务器仍然有SOCKET连接,但是这个连接怎样才能识别出来啊。
windinwing 2003-10-09
  • 打赏
  • 举报
回复
阻塞模式还是选择模式?
设个标置,比如B的IP, S查找已连接的套接字,然后Send
windinwing 2003-10-09
  • 打赏
  • 举报
回复
局域网每台机子都有个内部IP的吧,通过Socket的IP就可以判断了
在internet上可以把ID和socket捆绑 ,比如聊天室, 你可以把用户
名和Socket建立一张哈希表,或者集合,送代整个集合找出用户名
对应的Socket 然后Send
jhlcss 2003-10-09
  • 打赏
  • 举报
回复
另外还有一个问题,假如说局域网内多台机器同时请求服务器,那么服务器,如何判断将信息发送给哪一台机器?
jhlcss 2003-10-09
  • 打赏
  • 举报
回复
那如何查找这个列表呢
顾君彦 2003-10-09
  • 打赏
  • 举报
回复
A与b连接后,各自会产生一个socket对象,发送只要针对它就行了。
lysamper 2003-10-09
  • 打赏
  • 举报
回复
你这样的话不是有两个服务器了,b也是个服务器了,

我是用udp实现该功能的,哪样就不会建立连接了,只要你那个服务器一直能接受指定端口的报文,根据报文的具体内容再转发就可以了!
xghost 2003-10-09
  • 打赏
  • 举报
回复
mk
jhlcss 2003-10-09
  • 打赏
  • 举报
回复
也就是说:
如果A通过服务器给B消息的话,服务器接收到A的消息之后,通过B的IP地址从SOCKET连接列表中查找B的连接,通过这个连接发送给B,是吗?

那怎么样查找这个列表呢?
LoveRose 2003-10-09
  • 打赏
  • 举报
回复
这要看你怎么实现?
一种就是客户端跟服务器建立连接通过tcp/ip协议,并将客户端信息如ip port发送到服务器
任何一个客户端与服务器端建立连接都会下载到所有客户端的信息,当客户端间需要建立
连接可以通过udp协议A一直监听port,B通过从服务器获得A的信息请求A,A做出响应,则
建立连接发送信息。这类似OICQ.
另一种就是客户端的通信都通过服务器。

无论哪一种,客户端都会把标示自己的信息发给服务器。

110,525

社区成员

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

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

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