gpt4 book ai didi

java.net.BindException : Permission denied when creating a ServerSocket on Mac OSX

转载 作者:IT老高 更新时间:2023-10-28 20:24:28 29 4
gpt4 key购买 nike

我尝试使用 eclipse 在 mac 中运行 Java 套接字,但它不起作用。我收到了这个错误:

Exception in thread "main" java.net.BindException: Permission denied

at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.socketBind(PlainSocketImpl.java:521)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:414)
at java.net.ServerSocket.bind(ServerSocket.java:326)
at java.net.ServerSocket.<init>(ServerSocket.java:192)
at java.net.ServerSocket.<init>(ServerSocket.java:104)
at server.MessageServer.main(MessageServer.java:11)

我怎样才能让它运行?

package server; //ChatServer 
import java.io.*;
import java.net.*;

public class MessageServer {

public static void main (String args[]) throws IOException {
int port = 100;
ServerSocket server = new ServerSocket (port);
System.out.println("Server is started!");

while (true) {
Socket client = server.accept ();
System.out.println ("Accepted from " + client.getInetAddress ());
MessageHandler handler = new MessageHandler (client);
handler.start();
}
}
}

最佳答案

您无法打开低于 1024 的端口,如果您没有 root 权限,并且从您在评论中发布的代码来看,您似乎正在尝试打开端口 100,这证实了我的理论。

如果您在非 root 用户下运行代码,则需要使用高于 1024 的端口。

关于java.net.BindException : Permission denied when creating a ServerSocket on Mac OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544849/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com