我正在尝试创建一个SOAP客户端。但不断收到此错误。有什么想法吗?我尝试更改IP但仍然是同样的错误。
MulticastSocket.Java
public void joinGroup(InetAddress mcastaddr) throws IOException {
if (isClosed()) {
throw new SocketException("Socket is closed");
}
checkAddress(mcastaddr, "joinGroup");
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkMulticast(mcastaddr);
}
if (!mcastaddr.isMulticastAddress()) {
throw new SocketException("Not a multicast address");
}
SOAPClient.java
public class MultiThread extends Thread implements ActionListener, KeyListener {
MulticastSocket socket;
DatagramPacket packet;
public MultiThread() throws IOException {
socket = new MulticastSocket(4446);
InetAddress group = InetAddress.getByName("122.57.153.213");
socket.joinGroup(group);
}
SOAPCLient.java @第80行
public SoapClient() throws IOException, RemoteException, NotBoundException, NamingException {
setBackground(new Color(0, 153, 76));//three green lines on gui
JPanel rightSideLayout = new JPanel();//active clients
rightSideLayout.setBackground(Color.darkGray);
JPanel bottomPanel = new JPanel(new BorderLayout());//contains typing field and send button
JLabel label = new JLabel();
Font font = label.getFont();
Map attributes = font.getAttributes();
attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
font = Font.getFont(attributes);
label.setFont(font);
label.setText("\tBhoo Online");
label.setForeground(Color.WHITE);
setLayout(new BorderLayout(10, 10));
sendButton = new JButton("Send");
sendButton.setPreferredSize(new Dimension(RIGHT_PANEL_WIDTH, 20));
line 80 sendButton.addActionListener(new MultiThread());
mainField = new JTextArea();
SOAPClient.java(main)
public static void main(String[] args) throws IOException, InterruptedException, RemoteException, NotBoundException, NamingException {
JFrame frame = new JFrame("BhooChat Client");
SoapClient bhooChat = new SoapClient();
frame.add(bhooChat);
答案 0 :(得分:3)
传递给joinGroup
的IP地址不是有效的多播地址。
有效的IPv4多播地址范围为224.0.0.1 - 239.255.255.255。
答案 1 :(得分:1)
正如dbush所说,122.57.153.213不是多播地址。
224.0.0.1是一个众所周知的地址
保留224.0.0.69至224.0.0.100
http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml
尝试使用类似239.192.0.1的地址