java socket 问题

joaryyu 2010-10-09 08:04:22
我建了一个socket客户端,
public void sendMessage(String info) {
os.print(info);
os.flush();
}这是一个向指定服务器发送字符串的方法,
ms.sendMessage("info1");
ms.sendMessage("info2");
当连续调用这两个方法时,服务器接收到的数据是info1info2,即把这两个字符串当一次收了。
如果在这两个方法之间,让当前线程sleep一会,即加一个Thread.sleep(200)时,服务器中收到的数据是
info1
info2
即当两个字符串收了。
自动么处理这个问题!
...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
DryKillLogic 2010-10-11
  • 打赏
  • 举报
回复
服务器端的代码呢,贴出来看看
villagehead 2010-10-11
  • 打赏
  • 举报
回复
学习了

good luck
Rainy- 2010-10-10
  • 打赏
  • 举报
回复
学习了
magong 2010-10-09
  • 打赏
  • 举报
回复
每发完一个消息,得发一个分界符,如用println换行。Server端就好区分了。
h2702222 2010-10-09
  • 打赏
  • 举报
回复
学习了。。
apchy 2010-10-09
  • 打赏
  • 举报
回复
发送的时候有缓冲区,等满的时候一起发送,socket.setTcpNoDelay(true)禁用缓冲延迟,就行了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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