我有个java写的简单的socket问题,大侠帮忙啊!运行时总说:Address already in use: JVM_Bind

我有个java写的简单的socket问题,大侠帮忙啊!运行时总说:Address already in use: JVM_Bind,第1张

告诉你的应十分的明确了!地址被占用 , 首先你应该知道你的java服务器的端口号 到多都是8080 ;你在运行中输入cmd 进入大黑屏 , 输入netstat -ao 看看哪个进程用的 是你的java端口 , 把相应的 在进程中把对应的进程停了就可以了!

>你这不仅仅是端口的事!第一,如果你用的是ip地址访问显然不行,因为你用的是内网ip!
第二,如果你自己设置了域名那也不行,外部的dns是无法映射的!
所以你的本地机器直接连外网,并需直接使用独立的外网ip才可以,才考虑一下端口问题,那都是小事!

Java里面的Socket貌似是不支持一个端口同时和对方多个端口同时连接的
(如果可以,那说明我才疏学浅)
Java的 Socket基本思路是一个固定端口监听,然后accept一个连接之后,本地和对方通信的端口是随机产生的一个,而不是这个监听的端口。
你说的这种需求,其实 *** 作系统是支持得很好的。比如Windows里有一个网络编程模型(一种事件驱动模型)是这样的:当某个端口上发生了某个事件时,调用事件处理的函数,然后函数里根据事件类型作出相应的处理,事件类型包括连接、收到数据、对方关闭等等。LZ可从这方面找找java有无相关的第三方库可用。
告诉你几个可搜索的关键词WSAEventSelect (>

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13201385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-19
下一篇 2023-06-19

发表评论

登录后才能评论

评论列表(0条)

保存