Java socket.accept()不执行
我有这个代码,我只是下载它Java socket.accept()不执行,java,sockets,Java,Sockets,我有这个代码,我只是下载它 import java.io.*; import java.net.*; public class Server { public static void main(String argv[]) throws Exception { String clientSentence; String capitalizedSentence; ServerSocket welcomeSocket = new ServerSocket(6060);
import java.io.*;
import java.net.*;
public class Server {
public static void main(String argv[]) throws Exception
{
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6060);
while(true)
{
Socket connectionSocket = welcomeSocket.accept();
System.out.println("ssss");
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
首先,它运行得非常好,然后当我尝试运行它时,它运行了,但它没有到达print语句:
System.out.println("ssss");
它在welcomeSocket.accept()上停止代码>
即使我尝试了以前使用的旧服务器代码,它也没有在同一部分运行和停止,但是,它是从linux终端运行的。它按预期工作。.accept()
函数是一个阻塞函数,这意味着.accept()
将等待连接尝试并将代码保存在那里
如果您与服务器建立连接,它将越过该点,打印sss一次,然后在执行其余while循环后,再次卡在那里,直到您建立新连接