1、可以选择socket通信
2、可以选择文件,不过要注意好读写
3、消息传递,在windows下抛出一个消息//具体怎么做我没试过,只知道有这方法
4、数据库//这个比较容易实现
上面说的两个不同进程,当然就是可以选择用不同语言写出来的程序了
您好,你可以用两个不同进程之间的数据交互:1、可以选择socket通信
2、可以选择文件,不过要注意好读写
3、消息传递,在windows下抛出一个消息//具体怎么做我没试过,只知道有这方法
4、数据库//这个比较容易实现
这样就可以选择用不同语言写出来的程序了
这是用Java写的服务器的程序
import java.net.*import java.io.*
public class Server {
private ServerSocket server
private Socket client
public Server() {
boolean flag = true
try {
server = new ServerSocket(8888) //端口
System.out.println("服务器正在等到客户端连接......")
while (flag) {
client = server.accept() //阻塞
new ServerThread(client).start()
}
server.close()
} catch (Exception e) {
}
}
public static void main(String[] args) {
new Server()
}
private class ServerThread extends Thread {
private Socket clientThread
private PrintStream out
private BufferedReader in
private boolean flag = true
public ServerThread(Socket client) {
this.clientThread = client
System.out.println("主机与客户端成功建立连接,开始通讯!!")
}
public void run() {
try {
/*
* 超时判断:设置超时时间300秒,中断连接或者300秒内客户端无回应信息则认为中断
* 缺点便是必须把超时时间设置很长,否则客户端待机也认为超时处理,无法判断是否端口
*/
clientThread.setSoTimeout(300000)
out = new PrintStream(client.getOutputStream())
in = new BufferedReader(new InputStreamReader(client.getInputStream()))
while (flag) {
String str = in.readLine() //阻塞
System.out.println("客户端:" + str)
out.println("主机成功接收到您的信息!!")
}
client.close()
} catch (Exception e) {
//如果异常是连接异常,则输出连接断开
if (e.getMessage() == "Connection reset") {
System.out.println("客户端已断开连接!!")
}
}
}
}
}
这是客户端的
import java.net.*import java.io.*
public class Client {
private Socket client
public Client() {
InetAddress ip
try {
System.out.println("正在连接服务器......")
ip=InetAddress.getLocalHost()
String localip=ip.getHostAddress()
client = new Socket(localip, 8888) //阻塞
BufferedReader input = new BufferedReader(new InputStreamReader(System.in))
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()))
PrintStream out = new PrintStream(client.getOutputStream())
boolean flag = true
System.out.println("成功连接到主机,开始通讯!!")
while (flag) {
System.out.printf("请输入信息:")
out.println(input.readLine()) //阻塞
//判断是否与主机断开
if (isConnected()) {
System.out.println("发生成功!!")
System.out.println("主机:" + in.readLine())
} else {
System.out.println("发生失败!!")
System.out.println("与服务器断开连接!!")
client.close()
break
}
}
} catch (Exception e) {
System.out.println(e.getMessage())
}
}
//判断服务器是否断开的方法,
//通过OutputStream发送一段测试数据,如果发送失败就表示远端已经断开连接
//但会与正常的传送干扰,所以用sendUrgenData
public boolean isConnected() {
try {
client.sendUrgentData(0xFF)
return true
} catch (Exception e) {
e.printStackTrace()
return false
}
}
public static void main(String[] args) {
new Client()
}
}