java - 读取前无法写入套接字
问题描述
我有两个套接字应该发送一个数据包,并监听响应。
客户端(stt 是 Socket):
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(stt.getOutputStream()));
BufferedReader wrr = new BufferedReader(new InputStreamReader(stt.getInputStream()));
if (i == JOptionPane.YES_OPTION) {
wr.write("cnt\n");
wr.write(s + "\n");
#String s1 = wrr.readLine();
#if (s1.equals("cnt")) {
# other = stt;
# startSc(MP);
#}
} else wr.write("0");
wr.close();
wrr.close();
服务器端(inc 是 Socket):
BufferedReader r = new BufferedReader(new InputStreamReader(inc.getInputStream()));
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(inc.getOutputStream()));
String correction = r.readLine(); //that line blocks
...
在这种情况下(带有#的行);服务器端无法获取数据包。
如果我在客户端删除带有 # 的行,问题就解决了。
如何在写作后立即阅读以获取回复?
解决方案
推荐阅读
- javascript - 如何停止对象数组中的重复数据输入
- python - 如何保存具有多个参数的冗长计算结果?
- selenium-webdriver - 在黄瓜特征文件中传递的参数,在步骤定义脚本中不起作用
- mongodb - 副本仲裁器集
- python - 调用方法时出现参数错误
- contextmenu - 如何在 Ext js 7 中为树列表设置上下文菜单,即右键单击树列表项的菜单?
- google-apps-script - 使用应用程序脚本是否可以将文件移动到包含相同名称的文件夹到该匹配文件夹
- spring-auto-restdocs - 在 Spring Auto Rest Docs 中自定义章节标题
- apache-kafka - 如何从字符串分隔的kafka主题中读取然后将其转换为json?
- json - 将 JSON 转换为 DBM 哈希文件的策略(带有 Apache 后端的 AEM)