本实例实现的是本机的两个进程通信。
发送端:
package Sender;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
public class Sender {
public void sender() throws IOException{
}
}
接收端:
package Reciever;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class Reciever {
public void reciever() throws IOException{
}
}
控制端:
package Message_Socket;
import java.io.IOException;
import Reciever.Reciever;
import Sender.Sender;
public class SocketTest {
public static void main(String[] args) throws IOException{
}
}
注意点:
1.如果运行时出现如下编译错误:
Unrecognized Windows Sockets error: 0: Cannot bind
(1)很可能是你使用的监听端口已被其他的进程使用,请选择其他端口,不能是知名端口(1-1024),还可以在DOS下查看是哪个进程使用了该接口,具体命令上网上查;
(2)将接收端的socket的创建及接受放在try-catch中;
2.接收端在运行recieve之后将被阻塞,即被挂起,直到有数据发送过来。
3.如果发送端发送的数据大小超过了接收端的缓存大小,那么超出的数据将被丢失。
本文介绍了一个简单的本机进程间通信示例,通过发送端和接收端使用UDP协议进行数据交换。发送端发送“hello world”消息到指定端口,接收端监听该端口并打印接收到的消息。
1525

被折叠的 条评论
为什么被折叠?



