【发布时间】:2014-06-09 04:16:19
【问题描述】:
我不知道这是否可能。首先我用 Node.js 编写客户端和服务器,然后服务器和客户端都用 Java 编写,它们都按预期工作。现在我对连接 Java 服务器和 Node.js 客户端感兴趣。但问题是不能在他们之间发送日期
这是用 Java 编写的服务器端代码
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public MyServer() {
}
public static void main(String args[]){
ServerSocket serverSocket= null;
Socket socket =null;
DataInputStream datainputstream=null;
DataOutputStream dataoutputstream=null;
try{
serverSocket = new ServerSocket(8888);
System.out.println("Listening ...");
}catch(IOException e){
e.printStackTrace();
}
while(true){
try{
socket = serverSocket.accept();
datainputstream = new DataInputStream(socket.getInputStream());
dataoutputstream = new DataOutputStream(socket.getOutputStream());
System.out.println("ip:"+socket.getInetAddress());
System.out.println("message:"+datainputstream.readUTF());
dataoutputstream.writeUTF("HELLO !");
}catch(IOException e){
e.printStackTrace();
}finally{
if(socket!=null){
try{
socket.close();
}catch(IOException e){
e.printStackTrace();
}
}
if(datainputstream!=null){
try{
datainputstream.close();
}catch(IOException e){
e.printStackTrace();
}
}
if(dataoutputstream !=null){
try{
dataoutputstream.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}
}
这是用 Node.js 编写的客户端代码
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 8888;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('connected to: ' + HOST + ':' + PORT);
client.write('Data comming from client...');
});
client.on('data', function(data) {
console.log(data.toString());
//client.destroy();
});
client.on('close', function() {
console.log('Connection closed');
});
【问题讨论】:
-
我不明白您遇到了什么问题。 Node.js 客户端没有理由无法与 Java 服务器通信。当你尝试时发生了什么?为什么你认为你不能在这之间发送一个日期?
-
No no 在服务器端连接它时它只显示 ip:127.1.1.1( System.out.println("ip:"+socket.getInetAddress());) 之后没有任何显示
-
@user3553031 你能运行这个并对此提出任何建议。它对我真的很有帮助..
标签: java javascript node.js