java中socket如何让服务端一直等待,客户端每隔一段时间链接一次

我用socket编写了一个传文件的程序,希望从服务端每隔一段时间把一个文件夹中的内容传到客户端,也就是想实现服务端时刻在等待,客户端每隔一段时间连接一次。请问各位大神,如... 我用socket编写了一个传文件的程序,希望从服务端每隔一段时间把一个文件夹中的内容传到客户端,也就是想实现服务端时刻在等待,客户端每隔一段时间连接一次。请问各位大神,如何解决这个问题! 展开
 我来答
至尊z馒头
推荐于2017-05-21 · TA获得超过114个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:105万
展开全部
1、服务端
使用ServerSocket 在确定端口之后,调用accept() 方法 。 这样 服务端就会阻塞在accept() 这里 直到有客户端请求过来 才会接着往下执行,后面你就写获取文件夹内容的具体逻辑代码 然后写入流里面 传回给客户端就可以了

2、客户端
客户端你要求每隔一段时间 有很多种方法可以实现 比如说写个timer 在间隔指定时间段向Server端发起请求就可以了,具体方式就是new Socket(ip,端口) 连接上了之后 可以得到Server端写在流里的数据 读出来就可以了

中间的细节 自己去琢磨一下 要循环往复 可以通过多线程来实现。

Socket的具体使用 可以查看官方api或者google
好听名子
2012-11-21
知道答主
回答量:24
采纳率:0%
帮助的人:6.1万
展开全部
那你就别把监听状态停止就行了,留意端口不要被占用了……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gz_pratt
2012-11-21
知道答主
回答量:46
采纳率:0%
帮助的人:21.8万
展开全部
首先这个需要SERVER和CLIENT

1. SERVER:
建立server socket指定端口进行监听,
new ServerSocket(portNumber);
while(true){ //循环检验是否有客户端连接上来
if(Client has connected){
//Then start to transfer the files.
}
}

2. CLIENT
建立client socket循环连接Server socket进行传输
while(true){
sendFilesAfterSomeTime();
Thread.sleep(theTimeThatNeedToWait); //隔一段时间
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-21
展开全部
线程 while(true)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式