一篇关于java socket的文章
https://blog.youkuaiyun.com/tian779278804/article/details/50922354
阻塞点:
错误: 无法将类 ServerSocket中的构造器 ServerSocket应用到给定类型;
ServerSocket server = new ServerSocket(12000);
^
需要: 没有参数
找到: int
原因: 实际参数列表和形式参数列表长度不同

怀疑是jdk 或jre版本问题:
这个是查询JRE的版本:
$ java -version
这个是查询JDK的版本:
$ javac -version

版本应该够高,问题还没找到原因,待续
========================第二天分割线====================================
已经找到原因: 自己写的Demo类命名也叫ServerSocket,Demo里面12行所实例化的并不是java.net.ServerSocket,而是自己的Demo类,而自己写的类里没有这个带参的方法,因此会报错
修正办法: 给自己的Demo类改个名
寻找解决方法路径:在eclipse上复制报错The constructor ServerSocket(int) is undefined,在stackoverflow上找,有一个人犯了跟我一样的错误 https://stackoverflow.com/questions/32802100/the-constructor-serversocketint-is-undefined

另外还发现个问题:

getOutputStream()方法p小写,用IDE直接就可以提示出来,打算弃坑Notepad++,入坑eclipse.
java 一年仍是一枚菜鸟飞过===============
在尝试创建`ServerSocket`实例时遇到构造器错误,错误表明实际参数列表和形式参数列表长度不同。检查JRE和JDK版本后发现并非版本问题。第二天发现原因在于自定义的Demo类与`java.net.ServerSocket`同名,导致实例化错误。解决方案是更改自定义Demo类的名称。在解决问题的过程中,还发现`getOutputStream()`方法的小写p问题,计划从Notepad++切换到Eclipse进行开发。
388





