Serversocket端口问题

看着奢扣 2011-12-19 06:09:17
本机telnet服务已经起来了,默认是23端口,程序如下
报错端口冲突java.net.BindException: Address already in use: JVM_Bind
请问如何查和什么冲突,谢谢。


import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class MockServer {
private ServerSocket socket;
private int port;
public MockServer(int port) {
this.port = port;
}
public void startServer() {
InputStream is = null;
try {
try {
socket = new ServerSocket(port); // 建立服务器,端口号为port
Socket inSocket = socket.accept(); // 检测端口直到与用户建立连接完成
System.out.println("与用户建立连接完成");
OutputStream os = inSocket.getOutputStream(); // 打开输出流
is = inSocket.getInputStream(); // 打开输入流
Scanner in = new Scanner(is);
PrintWriter pw = new PrintWriter(os, true);
// 往服务器发送数据
pw
.println("<html><body>欢迎光临chelson的服务器,键入exit断开与服务器的连接</body><html>");
boolean exit = false;
// 等待客户端发送数据
while (!exit && in.hasNextLine()) {
String input = in.nextLine();
pw.println("您刚才输入的信息是" + input); // 返回客户端数据
if (input.trim().equals("exit")) // 如果用户输入exit就终止服务器
exit = true;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
is.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MockServer server = new MockServer(23);
server.startServer();
}
}

...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
看着奢扣 2011-12-20
  • 打赏
  • 举报
回复
问了个特别弱的问题 结贴吧
  • 打赏
  • 举报
回复
给你个建议,应用程序应使用大于 1024 的端口号。
kouyiSC 2011-12-19
  • 打赏
  • 举报
回复
netstat -na 查看一下本机已经打开了哪些端口。。然后再看看你即将开的端口是否已经开启了。。。
chensuper 2011-12-19
  • 打赏
  • 举报
回复
那你要么关掉本机telnet服务,要么搞一个不常见的端口号,一般用户自定义的端口号 > 1024

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧