社区
网络及通讯开发
帖子详情
ServerSocket 如何控制向不同客户端发信息?
sinozw
2010-12-08 03:16:43
假如有10个ClientSocket, 已经连接到ServerSocket上 。如何向某一个指定的客户端主动发信息?另外是否还有其他更好用的控件?我用的是bcb 6.0
...全文
355
12
打赏
收藏
ServerSocket 如何控制向不同客户端发信息?
假如有10个ClientSocket, 已经连接到ServerSocket上 。如何向某一个指定的客户端主动发信息?另外是否还有其他更好用的控件?我用的是bcb 6.0
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dajie13
2011-07-04
打赏
举报
回复
我也很像弄明白这个问题,请详细一点,最好有点什么资料
留个邮箱吧:521011655@qq.com
wgh0306
2010-12-09
打赏
举报
回复
这个问题,我也需要解决。
xuzhu3000
2010-12-09
打赏
举报
回复
[Quote=引用 9 楼 silverpot 的回复:]
引用 6 楼 xuzhu3000 的回复:
if(ServerSocket1->Socket->Connections[i]->RemoteHost.AnsiCompare("####") == 0)
不太懂
区别不同客户端,可以用客户端IP或是客户端主机名。我那个####就是表示你指定的主机名
[/Quote]
3Q~
银点
2010-12-09
打赏
举报
回复
[Quote=引用 6 楼 xuzhu3000 的回复:]
if(ServerSocket1->Socket->Connections[i]->RemoteHost.AnsiCompare("####") == 0)
不太懂
[/Quote]
区别不同客户端,可以用客户端IP或是客户端主机名。我那个####就是表示你指定的主机名
魔方幻影
2010-12-09
打赏
举报
回复
[Quote=引用 7 楼 dz881122 的回复:]
直接定义一个结构体TClientIfno pm;
然后将客户端的Socket存入结构体:比如在ServerSocket1ClientRead中写入[code=pm.Socket = Socket;][/code]。
需要调用时:[code=pm.Socket->SendText("消息内容");][/code]
[/Quote]
你有多个客户端的话,直接定义一个结构体数组TClientIfno pm[20];
魔方幻影
2010-12-09
打赏
举报
回复
直接定义一个结构体TClientIfno pm;
然后将客户端的Socket存入结构体:比如在ServerSocket1ClientRead中写入[code=pm.Socket = Socket;][/code]。
需要调用时:[code=pm.Socket->SendText("消息内容");][/code]
xuzhu3000
2010-12-08
打赏
举报
回复
if(ServerSocket1->Socket->Connections[i]->RemoteHost.AnsiCompare("####") == 0)
不太懂
银点
2010-12-08
打赏
举报
回复
ServerSocket1->Socket->Connections[i]->RemoteHost或
ServerSocket1->Socket->Connections[i]->RemoteAddress来区别不同的客户端连接,给它们发送不同的消息
for(int i = 0;i < ServerSocket1->Socket->ActiveConnections ; i++)
{
if(ServerSocket1->Socket->Connections[i]->RemoteHost.AnsiCompare("####") == 0)
ServerSocket1->Socket->Connections[i]->SendBuf();
else
ServerSocket1->Socket->Connections[i]->SendBuf();
}
ccrun.com
2010-12-08
打赏
举报
回复
这个Connections是ServerSocket自动维护的,有一个连接过来,就计数加1, 有连接断开,计数减1, 每个连接对应一个客户端IP地址和一个客户端的端口号, 通过这个来确定连接的唯一性.
sinozw
2010-12-08
打赏
举报
回复
如何 确定Connections[i]中i 值? 是不 在ServerSocketAccep 中就记录 每个连接和其句柄的对应关系,然后在所有Socket 中逐个比较句柄?
ccrun.com
2010-12-08
打赏
举报
回复
更好的控件,当然是indy了.
IdTCPServer/IdTCPClient
ccrun.com
2010-12-08
打赏
举报
回复
ServerSocket1->Socket->Connections[i]->SendText("消息内容");
用
ServerSocket
类与Socket类实现
客户端
与服务端的交互
ServerSocket
类,此类实现服务端的套接字,Socket类,此类实现
客户端
的套接字,而套接字就是两台机器间通信的端点,所以就用
ServerSocket
类和Socket类实现
客户端
与服务端的交互,下面先来查看
ServerSocket
类的api 看到构造方法,首先想到要使用要先new一个,然后方法里可以绑定dao特定端口,这里以端口8888为例,创建一个服务端监听8888端口,然后获取连接着
如何创建一个
ServerSocket
来监听
客户端
连接?
要创建一个
ServerSocket
来监听
客户端
连接,可以按照以下步骤进行: 1. 导入必要的Java类库:
java Socket编程调用
ServerSocket
的close方法
做一个简单的聊天系统服务器 服务器中有一个输入端口的控件,两个JButton按钮“停止”和“运行” 点击“运行”按钮,启动服务器 点击“停止”按钮,调用
ServerSocket
的close方法,停止服务器。 上部分代码: btn_ok.setText("运行"); btn_ok.addActionListener(new java.awt.event.ActionList
Java-
ServerSocket
介绍
Java中的
ServerSocket
是一种用于建立服务器端socket的类。它允许程序在指定端口上监听
客户端
的连接请求,并在连接成功后与
客户端
进行数据交互。
ServerSocket
类提供了一些方法,用于
控制
服务器端socket的行为,如绑定端口、监听连接请求、接受连接、关闭连接等。
Java Socket和
ServerSocket
使用
在Java中,Socket和
ServerSocket
是用于创建网络连接的重要类。Socket类用于创建
客户端
套接字,服务器Socket类用于创建服务器套接字。使用Socket和
ServerSocket
,我们可以轻松地创建基于TCP或UDP的网络连接,并实现数据传输和通信。在使用Socket和
ServerSocket
时,我们需要遵循一定的步骤,例如创建套接字、监听连接请求、
发
送和接收数据,最后关闭套接字。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章