相关疑难解决方法(0)

MongoDB java连接问题

我试图运行以下代码:

public static void main(String args[]) throws UnknownHostException, MongoException{
        Mongo m = new Mongo( "localhost", 27017 );
        DB db = m.getDB( "test" );


        Set<String> coll = db.getCollectionNames();
    }
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我遇到连接问题:

bc:java.net.ConnectException:连接被拒绝:连接

编辑:Nvm我忘了在后台运行数据库

java mongodb

7
推荐指数
1
解决办法
3057
查看次数

如何使客户端套接字等待服务器套接字

如果客户端套接字在服务器套接字之前打开,Java将生成ConnectionException.所以我必须检查服务器是否可用并在执行前继续等待

socketChannel.open(hostname, port)

在客户端线程中.我找到了一个相关的API:

InetAddress.getByName(hostname).isReachable()

但是,这仍然无法判断特定端口上的套接字是否已打开.我认为这个问题应该很常见,但我没有从谷歌和其他地方获得非常有用的信息.

java sockets

6
推荐指数
1
解决办法
1万
查看次数

如何让Java套接字使用公共IP?

我没有遇到使用localips的套接字,但是一旦我将代码更改为使用public ips,我就一直得到java.net.ConnectException.

我使用端口8084,据我所知,在其他地方没有使用在命令提示符下,netstat -a | grep 8084显示:文件STDIN:TCP user-9114eb19a8:8084 user-9114eb19a8:0 LISTENING

我已经进入我的路由器并确保它是开放的我使用请求http://www.whatismyip.org获取我的公共IP

服务器:

serverSocket = new ServerSocket (8084);
Run Code Online (Sandbox Code Playgroud)

客户:

socket = new Socket (hostaddr, 8084); //hostaddr is a string containing my public-IP
//it works when the program is run on a localnetwork and I am using my local-ips
Run Code Online (Sandbox Code Playgroud)

java sockets

5
推荐指数
1
解决办法
9180
查看次数

标签 统计

java ×3

sockets ×2

mongodb ×1