• java.net.BindException: Address already in use: JVM_Bind异常的解决


      今天在学习socket通信的时候遇到了这个异常

    package com.maheng.socket;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
    
    	/**
    	 * 基于TCP协议的socket通信
    	 * Server
    	 */
    	public static void main(String[] args) {
    		System.out.println("begin");
    		try {
    			//创建一个服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口
    			ServerSocket serverSocket = new ServerSocket(6789);
    			//调用accept()方法开始监听,并等待客户端的连接			
    			Socket socket = serverSocket.accept();
    			System.out.println("server has started, waits for the client connection......");
    			
    			InputStream is = socket.getInputStream();
    			InputStreamReader isr = new InputStreamReader(is);
    			BufferedReader br = new BufferedReader(isr);
    			String message;
    			while( (message = br.readLine()) != null ){
    				System.out.println("client: " + message );
    			}
    			socket.shutdownInput();
    			//socket.close();
    			br.close();
    			isr.close();
    			is.close();
    			serverSocket.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    

      点运行,咦!怎么没有反应,server怎么没有启动!再点一次! 报错了!!(java.net.BindException: Address already in use: JVM_Bind)

    换端口号还是同样的情况。

    无奈之下只能用命令netstat -ano看一下各个端口的占用情况,发现刚刚输入的奇奇怪怪的端口号全部正在占用着,这个时候才醒悟过来,socket在等待客服端的接入,导致下面的打印语句没有输出,其实服务已经开启了...  于是乎,关闭应用程序,打印语句放到accept()方法上面,一切运行正常

    总结:写程序要细致,低级错误就大骂自己SB,SB记住了没有?SB记住了....  

  • 相关阅读:
    jQuery的父,子,兄弟节点查找方法
    我们的产品最终入驻淘宝服务市场
    iframe显示滚动栏
    自己定义控件三部曲之动画篇(十三)——实现ListView Item进入动画
    [叁]Pomelo游戏server编程分享 之 server结构与配置分析
    数列求和
    字节与字符_字节流与字符流_ASCII与Unicode_GB2312_GBK_GB18030_BIG-5
    Codeforces Round #257(Div. 2) B. Jzzhu and Sequences(矩阵高速幂)
    呼叫保持流程
    PDF转EPUB格式电子书经验总结
  • 原文地址:https://www.cnblogs.com/maheng/p/4963611.html
Copyright © 2020-2023  润新知