java代码运行出现错误“Address already in use: Cannot bind”

问题描述

java代码运行出现错误“Address already in use: Cannot bind”

这是数据接受端代码:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class ReceiveUDP {

public static void main(String[] args) throws IOException {
    //定义Socket,并开放一个端口,用来接受数据
    int port=10000;
 DatagramSocket  ds = new DatagramSocket(port);
 //定义一个数据缓冲池,用来存放接收到的数据
 byte bytes[] = new byte[1024];
 DatagramPacket dp = new DatagramPacket(bytes,bytes.length);
 //用Receive方法将接收的内容放入数据缓冲池
 ds.receive(dp);
 System.out.println(dp.getPort()+":");
 System.out.println(new String(dp.getData()));
 ds.close();

}

}

这是发送数据端代码:
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 UDPSend {

public static void main(String[] args) throws IOException {
    DatagramSocket ds = new DatagramSocket(10000,InetAddress.getByName("127.0.0.1"));
    byte  bytes[] = "hello,UDP".getBytes();
    DatagramPacket dp =  new DatagramPacket(bytes,bytes.length);
    //发送数据
    ds.send(dp);
    System.out.println("sent!");
    ds.close();

}

}

运行后出现问题:
Exception in thread "main" java.net.BindException: Address already in use: Cannot bind
at java.net.DualStackPlainDatagramSocketImpl.socketBind(Native Method)
at java.net.DualStackPlainDatagramSocketImpl.bind0(Unknown Source)
at java.net.AbstractPlainDatagramSocketImpl.bind(Unknown Source)
at java.net.DatagramSocket.bind(Unknown Source)
at java.net.DatagramSocket.(Unknown Source)
at java.net.DatagramSocket.(Unknown Source)
at UDPSend.main(UDPSend.java:11)
请各位大神帮忙看看是什么问题,怎么解决?

解决方案

在启动JBoss 5的过程中老是报错:
java.net.BindException: Address already in use: Cannot bind
at java.net.PlainDatagramSocketImpl.bind(Native Method)
at java.net.DatagramSocket.bind(DatagramSocket.java:340)
&......
答案就在这里:java.net.BindException: Address already in use: Cannot bind

解决方案二:

端口号10000被占用了!建议查看是否重复开启了程序,如果没有,请在任务管理器里找到占用该端口的程序,关闭掉就好了!

解决方案三:

端口被占用了,使用命令netstat -ano | find "端口号"看一下

解决方案四:

关掉javaw.exe你启动的小程序自己没关闭

解决方案五:

端口被占用,换个端口

解决方案六:

你启动了多个服务端,,启动一个就好了

解决方案七:

端口 重复占用,.....................

时间: 2024-10-30 06:46:25

java代码运行出现错误“Address already in use: Cannot bind”的相关文章

Java代码没有语法错误,但运行出错

问题描述 Java代码没有语法错误,但运行出错 以下这段代码没有提示语法错误,却在运行时报错,求大神指教import java.io.*;import java.net.*;public class Ser{ public static void main(String args[]){ ServerSocket server = null; Socket you = null;String s = null; DataOutputStream out = null; DataInputStre

java 代码运行异常在eclipse

问题描述 java 代码运行异常在eclipse package come1; import java.util.Vector; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class Test1 extends JFrame{ Vector rowData,columnNames; JTable jt=null; JScrollPane jsp=null

指针-车辆检测的代码运行有错误

问题描述 车辆检测的代码运行有错误 报错如图,应该是那个指针的问题?那应该怎么改? 解决方案 可能是pCapture 解决方案二: 建议用gdb或者cout去输出一下看看,或者调整一下输入的大小,一般这种程序为了效率,内存都是分配一块很长的连续内存,如果输入太大或者太小很容易会操作敏感区域的内存.有时候输入很大,超出限制之后,分配的内存会从0开始,一下就内存错误了.

java-求高手帮忙看看这段Java代码有什么错误。

问题描述 求高手帮忙看看这段Java代码有什么错误. package com.nightworld.why; import java.io.File; import java.util.List; import java.util.Timer; import java.util.TimerTask; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit

用 eclipse 编译java代码运行为灰色(none applicable)

问题描述 用 eclipse 编译java代码运行为灰色(none applicable) package qq; public class sort_Demo { int i,j,k,swap; sort_Demo(){ i=j=k=swap=0; } void sort(int t1,int t2[]){ for(i=0;i k=i; for(j=i+=1;j if(t2[j] k=j; if(k!=i){ swap=t2[i]; t2[i]=t2[k]; t2[k]=swap; } } }

诊断Java代码: 悬挂复合错误类型

空指针到处都有! 在一个 Java 程序员所能遇到的所有异常中,空指针异常属于最恐怖的,这是因为:它是程序能给出的信息最少的异常.例如,不像一个类转型异常,空指针异常不给出它所需要的内容的任何信息,只有一个空指针.此外,它并不指出在代码的何处这个空指针被赋值.在许多空指针异常中,真正的错误出现在变量被赋为空值的地方.为了发现错误,我们必须通过控制流跟踪,以发现变量在哪里被赋值,并确定是否这么做是不正确的.当赋值出现在包中,而不是出现在发生报错的地方时,进程会被明显地破坏. 许多 Java 开发人

java代码-提示的错误,我自己始终没找到,求大神指导一下

问题描述 提示的错误,我自己始终没找到,求大神指导一下 class SelectSort { public static void SelectSort(int[]arr) { for(x=0;x { for(y=x+1;y { if(arr[x]>arr[y]); { int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } } public static void Printfa(int[]arr) { for(i=0;i<arr.length;

诊断Java代码

诊断Java代码: Broken Dispatch错误模式 诊断Java代码: Double Descent错误模式 诊断Java代码: Impostor Type错误模式 诊断Java代码: Java编程中的断言和时态逻辑 诊断Java代码: Liar View错误模式 诊断Java代码: Repl提供交互式评价 诊断Java代码: 单元测试与自动化代码分析协同工作 诊断Java代码: 将时态逻辑用于错误模式 诊断Java代码: 进行记录器测试以正确调用方法 诊断Java代码: 空标志错误模式

MyEclipse 编译java代码报错,但是类文件上没有红叉提示

问题描述 MyEclipse 编译java代码报错,但是类文件上没有红叉提示 MyEclipse 在做项目时,java代码中编译错误之后,在类上没有红X显示,怎么回事呢? 解决方案 建议你将代码放在另外一台电脑上试试,看看是你的电脑环境的问题,还是统一存在的问题. 如果你的电脑的问题,估计别人是帮不上忙的.除了重装系统之外,估计也没有其它办法. 如果都存在这样的问题,可能是软件的 BUG.只能反馈给软件开发者来修改. 解决方案二: 可能是你还没有保存,你保存一下看看 解决方案三: clean一下