Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java套接字反向通信_Java_Sockets - Fatal编程技术网

Java套接字反向通信

Java套接字反向通信,java,sockets,Java,Sockets,我有许多客户端正在等待服务器消息。因此,客户端使accept()并等待服务器。当服务器有消息时,打开到客户端的连接并发送消息,然后关闭通信并重启循环 我看到的通常是相反的方法,服务器确实接受()并且客户端连接到它。我已经编写了这段代码,但是客户端(确实接受())在点3上被阻止,服务器(创建到客户端的连接)在点2上被阻止 当然我的代码中有一些问题(不知道在哪里),但是。。。这是正确的方法吗 客户端(接受()并等待新消息) 服务器(当有新消息要发送给客户端时,创建 连接) 尝试使用println而不

我有许多客户端正在等待服务器消息。因此,客户端使accept()并等待服务器。当服务器有消息时,打开到客户端的连接并发送消息,然后关闭通信并重启循环

我看到的通常是相反的方法,服务器确实接受()并且客户端连接到它。我已经编写了这段代码,但是客户端(确实接受())在点3上被阻止,服务器(创建到客户端的连接)在点2上被阻止

当然我的代码中有一些问题(不知道在哪里),但是。。。这是正确的方法吗

客户端(接受()并等待新消息)

服务器(当有新消息要发送给客户端时,创建 连接)


尝试使用
println
而不是
write
toServerWriter.println(“虚拟”)。服务器可能正在等待换行符。

在客户端代码中,而不是使用

PrintWriter writer;
使用

然后使用

writer.writeObject("dummy");
writer.flush();

看我的更新,我刚刚放置了一个“Waiting…”并将流更改为Object。奇怪的是服务器(应该发送真实对象)写1-2-3-4-5-6(完成所有循环)。客户端写:等待-1-2-3等待。。。输出4完全跳转(在我阅读ScheduledEvent的地方)并返回等待…等等,我明白了。。。我有一个该死的ClassNotFoundException没有被困!该异常的堆栈跟踪是什么?我在服务器项目中创建了ScheduledEvent类,并在客户端项目中复制了该类(它们位于不同的名称包中)。出于某种原因,客户端试图在错误的包中找到该类。当然,所有这些都可以很好地编译,否则我就没有机会看到堆栈跟踪
PrintWriter writer;
ObjectOutputStream writer;
writer.writeObject("dummy");
writer.flush();