草庐IT

java - 将简单的服务器代码部署到 Heroku

我最近访问了heroku.com网站并尝试在那里部署我的第一个java程序,实际上我使用他们的java部署教程有了一个良好的开端,并且运行正常。现在我有一个服务器代码,我需要在那里部署,我试着按照这个例子,但我有一些问题,比如,1-在这种情况下主机是什么,我已经尝试过应用程序链接,就好像它是主机一样,但它会抛出错误,这是我的示例服务器代码publicclassDateServer{/**Runstheserver.*/publicstaticvoidmain(String[]args)throwsIOException{ServerSocketlistener=newServerSoc

java - 尝试写入已关闭的连接时套接字不会抛出异常

我是java套接字编程的新手,但我遇到了这个问题。当我尝试写入客户端意外关闭的连接时,我没有得到任何异常。我有服务器端。publicstaticvoidmain(String[]args)throwsIOException{ServerSocketsocket=newServerSocket(8036);Stringst;while(true){System.out.println("hello");Socketsocket1=socket.accept();BufferedReaderreader=newBufferedReader(newInputStreamReader(sock

java - BufferedReader 从未就绪(Java 中的 Socket 编程)

我的套接字已经像这样声明了套接字:serverAddr=InetAddress.getByName(this.ip);socket=newSocket(serverAddr,port);out=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);但是,以下内容不起作用。in.ready()始终返回false,如果删除程序将卡住在Stringmessage=in.readLine();privatevoidreceive(){try{InputStreamReade

java - 如果端口对多播组无关紧要,为什么 DatagramSocket.joinGroup() 方法采用 SocketAddress?

我只是好奇。那是一个API错误吗?当您加入多播组时,您不使用端口,只使用多播组的多播地址(IP),对吧?当使用PORT时,是否会出现这种情况? 最佳答案 这个问题最好改写为“为什么DatagramSocket.joinGroup()需要一个SocketAddress参数,它可以包含一个端口号?”SocketAddress中的端口号被忽略。多播完全是根据IP地址定义的。我认为使用SocketAddress的原因是它可以暗示一个未解析的地址,其中InetAddress暗示一个已解析的地址,你不能解析多播地址,但不要引用我的话;-)

Java 套接字 : One Server and Multiple Clients

所以我用java创建了一个基本的客户端-服务器程序。它开始是这样的:客户端连接到服务器服务器询问客户的名字客户回复姓名服务器问候客户在此之后,客户端说话,服务器重复这些话我使用thistutorial没有太多麻烦就让它工作了.每当我尝试介绍多个客户时,问题就会出现。我认为它会工作,因为我使用的是多线程,但是,第二个客户端只是挂起,直到第一个客户端退出然后它开始工作(服务器确实接受来自第二个客户端的输入,但它没有响应直到第一个客户退出。这是我使用的代码:importjava.net.*;importjava.io.*;publicclassServerextendsThread{priv

java - 如果服务器不支持 SSLv3,为什么 Java SSL 套接字连接会严重失败

在提供商禁用SSLv3后,我们使用JDK7对www1.ecall.ch的CXF调用开始失败,我不明白为什么。通过设置-Dhttps.protocols=TLSv1解决了这个问题,但我很惊讶这甚至是必要的。JDK7/8支持所有SSLv2Hello(2)、SSLv3、TLSv1、TLSv1.1和TLSv1.2,我希望如此JVM在握手期间尝试自上而下,即首先从TLSv1.2开始即使服务器不支持SSLv3也能建立连接这是设置-Dhttps.protocols=TLSv1之前SSL调试日志的相关部分,即使用JVM默认值(我在开头切断了所有证书的列表):triggerseedingofSecure

java - 如何将在命令提示符下运行的客户端-服务器聊天应用程序转换为基于 Web 的应用程序?

我使用套接字编程制作了一个多客户端-服务器聊天应用程序,我可以在命令提示符下将其部署为JAR文件。现在我必须进行哪些更改才能使用tomcat服务器在Web浏览器上运行此应用程序?我的服务器代码:packagecom.Aricent;importjava.io.DataInputStream;importjava.io.IOException;importjava.io.PrintStream;importjava.net.ServerSocket;importjava.net.Socket;importjava.sql.*;importjava.sql.DriverManager;pu

java - 模拟网络服务

我们有两个组件:企业应用程序X和Web服务Y我们想制作我们的(自动化)测试工具来测试应用程序X(与Y交互),并且我们没有可用的Web服务Y。注意事项:测试工具将是桌面应用程序。我们不想使用其他外部工具,例如SoapUI-用于测试(因为我们希望通过运行一个应用程序来自动化测试)。问题是:我们如何在我们的测试桌面应用程序中模拟Web服务Y?通过Socket编程或任何其他方法/库是否容易模拟它?提前致谢 最佳答案 我在Java6中找到了解决方案web-services-without-ee-containers谢谢

Java 网络 : evented Socket/InputStream

我正在Java的套接字上实现一个面向事件的层,我想知道是否有一种方法可以确定是否有待读取的数据。我通常的方法是从套接字读取到缓冲区,并在缓冲区填充给定字节数时调用提供的回调(如果每次到达时都需要触发回调,则可以为0),但我怀疑Java已经在为我做缓冲。InputStream的available()方法是否可靠?我应该只read()并在Socket之上做我自己的缓冲吗?还是有别的办法? 最佳答案 简而言之,不。available()不可靠(至少不适合我)。我推荐使用java.nio.channels.SocketChannel连接Se

java - 客户端套接字 - 获取 IP - java

我正在使用套接字实现TCP连接,我需要在服务器端获取客户端套接字的IP。我使用了socketName.getRemoteSocketAddress(),它确实返回了IP地址,后面跟着我正在使用的端口ID!我怎样才能只得到地址而不是端口? 最佳答案 返回的SocketAddress实际上是一个protocol-dependentsubclass.对于Internet协议(protocol),例如您的TCP,您可以将其转换为InetSocketAddress:InetSocketAddresssockaddr=(InetSocketAd