我想用socket做一个聊天的工具,现碰到三个问题望各位大哥们帮帮忙,小弟万分感谢!问题一:服务断如何向指定的客户端发送信息,例如192.168.0.1是服务端(ServerSocket1),而192.168.0.2和192.168.0.3是客户端,如果服务端只向192.168.0.2这台机器发送信息该如何实现!(我在网上看的例子都是群发给客户端的,不是发给指定客户端,我想能不能通过指定客户端ip直接向某一台客户端发信息,如何实现)
问题二:如果我想用客户端直接发信息给客户端 例如 192.168.0.2直接发给192.168.0.3该如何实现(我想是不是应该先发送给服务端,在由服务端转发给另一台客户端呢?具体该如何实现),给个思路也行!
问题三:客户端如何能够得到所有连接到服务端IP(我在服务端已经可以实现了,但我不知道客户端如何实现),其实我的目的是想在客户端能够即时查看所有在线用户!以上三个问题困扰小弟很多天了,麻烦各位大哥指教,小弟万分感谢!
问题二:如果我想用客户端直接发信息给客户端 例如 192.168.0.2直接发给192.168.0.3该如何实现(我想是不是应该先发送给服务端,在由服务端转发给另一台客户端呢?具体该如何实现),给个思路也行!
问题三:客户端如何能够得到所有连接到服务端IP(我在服务端已经可以实现了,但我不知道客户端如何实现),其实我的目的是想在客户端能够即时查看所有在线用户!以上三个问题困扰小弟很多天了,麻烦各位大哥指教,小弟万分感谢!
解决方案 »
- dll窗口的问题
- sql
- 用最简洁的方法把现有的几个程序合成一个?
- 将TClientSocket的Active属性设成True后,直接发送数据包为什么不行?????
- 如何将memo中的内容存到access中的blob字段中,又如何将blob字段取出放到memo中,多谢!
- IntraWeb编写的程序怎么运行??高分,OnLine Wait!!!
- 询问
- 怎样用指定的填充图片?
- 上一次问的问题,网页出错,回复看不全,只好从问:请问:如何将Doc文档存入到Sql Server数据库Image字段中,并读取出来?
- 结婚前必须完成的工作,请大家帮忙!
- 我的DCOM组件明明注册了却在COM组件中找不到,但是用本地可以正常激活。
- 业余时间做了个辅助开发的小工具,有兴趣的朋友可以下载来玩玩....
I: Integer;
begin
ServerSocket1.Socket.Lock;
try
for I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
if ServerSocket1.Socket.Connections[i].RemoteAddress = '192.168.0.2' then
ServerSocket1.Socket.Connections[i].SendText(MessageText);
finally
ServerSocket1.Socket.Unlock;
end;
end;问题二
正如楼主说的,先发一个命令告诉服务器,要发送给谁,服务器再用问题一的解决代码来发送问题三
发送一个命令给服务器,服务器根据命令要求,把列表发送客户端
呵,之前我也想过用你这种方法来实现,但问题二用你所说的问题一来解决,如果客户端有几百台电脑的话用循环来判断那服务器负荷非常重,特别是当上百台电脑同时通信的时候服务器该如何响应呢?能不能不用通过循环判断而直接发送呢?麻烦再帮我想想,万分感谢!