julia 中的 TCP 客户端和 java 中的 TCP 服务器
tcp client in julia with tcp server in java
我在Java(下面的代码)中写了一个简单的TCP套接字服务器,它基本上是一个回显服务器(但是用'b'替换了'a')
现在我正在尝试使用 Julia 编写客户端
我可以在 Julia cilent 上发送消息,这会在 Java
到达
但我没有在 Julia 中看到 Java 回显服务器发送的响应
我做错了什么?
============================
使用 Julia 0.4.1-pre
REPL 上的 Julia 客户端:
clientside=connect(4445)
println(clientside,"aaa") # on output; expected output here due to example on docs
println(readline(clientside)) # no output here either, in fact, this blocks
Java 服务器:
try
(
BufferedReader input = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
DataOutputStream output = new DataOutputStream(this.socket.getOutputStream());
)
{
String line = null;
while((line = input.readLine()) != null)
{
output.writeUTF(line.replace('a','b'));
if(line.equalsIgnoreCase("quit"))
{
break;
}
}
}
所以我成功了
我将 Java DataOutputStream 更改为 PrintWriter
虽然看不懂,但至少能用
听起来您需要刷新 DataOutputStream。
我在Java(下面的代码)中写了一个简单的TCP套接字服务器,它基本上是一个回显服务器(但是用'b'替换了'a')
现在我正在尝试使用 Julia 编写客户端
我可以在 Julia cilent 上发送消息,这会在 Java
到达但我没有在 Julia 中看到 Java 回显服务器发送的响应
我做错了什么?
============================
使用 Julia 0.4.1-pre
REPL 上的 Julia 客户端:
clientside=connect(4445)
println(clientside,"aaa") # on output; expected output here due to example on docs
println(readline(clientside)) # no output here either, in fact, this blocks
Java 服务器:
try
(
BufferedReader input = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
DataOutputStream output = new DataOutputStream(this.socket.getOutputStream());
)
{
String line = null;
while((line = input.readLine()) != null)
{
output.writeUTF(line.replace('a','b'));
if(line.equalsIgnoreCase("quit"))
{
break;
}
}
}
所以我成功了
我将 Java DataOutputStream 更改为 PrintWriter
虽然看不懂,但至少能用
听起来您需要刷新 DataOutputStream。