gpt4 book ai didi

java - TCP/IP 通过 WLAN,权限被拒绝

转载 作者:行者123 更新时间:2023-12-01 12:18:43 26 4
gpt4 key购买 nike

这是我第一次接触 java TCP/IP,我试图弄清楚它是如何工作的。我在计算机 PC1 中制作了服务器 jar,在 PC2 中制作了客户端 jar,两者都连接到路由器。我正在尝试按照步骤 here 进行操作使用 WLAN 接口(interface)。如果我在 PC1 中这样做

ifconfig wlan0

我明白了

wlan0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::213:2ff:fed0:abc8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3735 errors:0 dropped:0 overruns:0 frame:0
TX packets:3597 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2769175 (2.7 MB) TX bytes:613767 (613.7 KB)

好吧,如果我使用参数 64 作为端口号运行服务器代码,我会得到这个

Port: 64
Nov 10, 2014 3:07:13 AM comunicacion.JavaTCPServer main
SEVERE: null
java.net.BindException: Permission denied
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:128)
at comunicacion.JavaTCPServer.main(JavaTCPServer.java:74)

我做错了什么?我怎样才能解决这个问题?我必须先在 PC1 中创建网络吗?所有代码都在 Ubuntu 中运行。

最佳答案

在基于 Unix 的系统中,低于 1024 的端口是特权。您需要管理员权限才能访问低于 1024 的端口。

因此使用端口 64 会产生异常(exception)。

您应该使用大于 1024 的端口号。

您可以在此处获取有关使用 1024 以下端口的一些信息:

http://manpages.ubuntu.com/manpages/hardy/man1/authbind.1.html

关于java - TCP/IP 通过 WLAN,权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26838101/

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