serversocket和clientsocket问题

lV运用 2009-04-17 09:26:03
在网络中,当ServerSocket打开时,ClientSocket再打开,ServerSocket能测试到客户端的套接字,服务器端根据套接字能向客户端发送信息,但当客户端已打开,而服务器端关闭时,再打开时,服务器不知道客户端的套接字,如何再向客户端发送信息?

如何服务器端只根据客户端的IP地址发送信息?能实现吗?
...全文
158 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlibo2008 2009-05-20
  • 打赏
  • 举报
回复
实现不了,不可能的
必须服务打开,客户与其建立连接,一个主动一个被动,不能乱来
zhoufs 2009-05-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 OK001 的回复:]
谢谢各位回答。

不管客户端有没有联上,直接ServerSocket利用IP发送数据可以吗?

因为我设置的客户端是一个设备,主机有可能关机,得设备未关机,主机再开机,进行软件数据发送可以吗?
[/Quote]

楼主没有真正理解TCP/IP协议。 
TCP是有连接的协议,只有当服务端先处于侦听状态,客户端才可以连接到服务器。

你想在客户端没有连接到服务器上时,就向客户端发信息,只能通过UDP协议(无连接的协议)。
只要知道客户端的IP地址与端口号,就可以向客户端发送数据,但UDP是不可靠的协议,不能保证
客户端一定能收到及收到正确的数据(当然一般情况是能收到准确数据的)
phyf_Anlymi 2009-05-08
  • 打赏
  • 举报
回复
没有连接不能发的!~
  • 打赏
  • 举报
回复
广播风暴你要做?
lV运用 2009-04-17
  • 打赏
  • 举报
回复
谢谢各位回答。

不管客户端有没有联上,直接ServerSocket利用IP发送数据可以吗?

因为我设置的客户端是一个设备,主机有可能关机,得设备未关机,主机再开机,进行软件数据发送可以吗?
lV运用 2009-04-17
  • 打赏
  • 举报
回复
谢谢各位回答。

不管客户端有没有联上,直接ServerSocket利用IP发送数据可以吗?

因为我设置的客户端是一个设备,主机有可能关机,得设备未关机,主机再开机,进行软件数据发送可以吗?
lV运用 2009-04-17
  • 打赏
  • 举报
回复
谢谢各位回答。

不管客户端有没有联上,直接ServerSocket利用IP发送数据可以吗?

因为我设置的客户端是一个设备,主机有可能关机,得设备未关机,主机再开机,进行软件数据发送可以吗?
xjjrocker 2009-04-17
  • 打赏
  • 举报
回复
第一种情况,必须连接后才可以发送,否则只有广播了。
第二种情况,能实现,定义套接字的结构含有ip地址,之需要在发送的时候,增加个IP比对即可。
gzmhero 2009-04-17
  • 打赏
  • 举报
回复
服务端关闭后,ClientSocket会有一个Disconnect事件。这时候链接已经断开,服务端再打开后,ClientSocket需要再次Open链接上了才行。
linjie0000 2009-04-17
  • 打赏
  • 举报
回复
你服务端那边关了,客户端那边自然也关了,

你要客户端再连服务端才行呀
xjjrocker 2009-04-17
  • 打赏
  • 举报
回复
用udp广播了,没连接还用ServerSocket发什么哦。
lV运用 2009-04-17
  • 打赏
  • 举报
回复
能告诉我,没有套接字(客户端未联上),用ServerSocket怎样发送数据吗?
xjjrocker 2009-04-17
  • 打赏
  • 举报
回复
可以发送,只是不能接收而已,你不断地广播发送完全没问题。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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