我之前从未在java中做过这种工作。
要求是:
在同一个LAN网络中至少连接2台PC。每个都有一个运行Java桌面程序。
假设PC#1上有Java1应用程序,PC#2上面有Java2应用程序。
private void btnNextActionPerformed(java.awt.event.ActionEvent evt) {
/* labelNum has been declared out of this function and has "0"
as it's initial text value */
int num = Integer.parseInt(labelNum.getText());
num ++;
labelNum.setText(String.valueOf(num));
}
虽然Java2上只有一个jButton,当连接到PC#1上的Java1时,Java2上的jButton将执行与Java1应用程序上的jButton相同的功能,它将在Java1 App上增加labelNum的值。
我完全不知道如何做到这一点,我通常搜索整个实习生可能的答案,问这里是我最后一个绝望的度假胜地。
谢谢你的时间。 (请原谅我可能不合适的英语)。
注意:我在CodeRanch上发布了类似的问题,但是12小时后我想我可以在这里得到更多的帮助,如果我在任何一个网站上得到/提供了答案,我会在两者上发布/更新答案并关闭两者帖子。
谢谢。
对于如何从另一个节点发送/接收请求,这属于一个更大的问题,相信我或不相信 - 比1或2个程序需要更多的工作。如果你把规模缩小到2个带有2个SD卡或其他的MCU,那将会容易得多。那应该是你的开始
这是步骤。
我已经完成了我需要使用Java套接字编程的程序,所有工作都非常好并且应该如此,并且与RMI相比不那么棘手,而且我面临的是安全管理器问题。
我使用String Tokenizer来标记客户端PC发送的String,以提取由空格分隔的信息,例如(clientNo commandType queueType currentQueueNo)。
clientNo =向服务器发送请求的客户端的编号ID commandType =客户端请求执行的命令/功能的类型。 queueType =客户端请求的队列类型currentQueueNo =客户端服务的当前/最后队列号
使用if函数,服务器PC将知道需要执行哪个方法,然后以字符串的形式回复客户端的答案,然后客户端将Answer设置为Label的新文本值。
我还使用了多线程,因此多个客户端可以连接到Socket Server PC而不会相互阻塞。
并且我记录了在jTextArea中完成的所有进程,因此用户或管理员将不断更新服务器pc和客户端之间的交互。
希望它足够明确作为答案。