Kev*_*ear 25 java sockets macos
我尝试使用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)
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它运行?
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
car*_*ing 57
您无法打开1024以下的端口,如果您没有root权限,并且您在评论中发布的代码中,您似乎正在尝试打开100确认我的理论的端口.
如果您在非root用户下运行代码,则需要使用高于1024的端口.
Aar*_*lla 22
基于Unix的系统将端口<1024声明为"特权",并且您需要管理员权限才能启动服务器.
要进行测试,请使用端口号> = 1024.
在生产中部署服务器时,请使用管理员权限运行它.
| 归档时间: |
|
| 查看次数: |
36820 次 |
| 最近记录: |