こんにちは、私は Java ソケット プログラミングが初めてで、誰かが助けてくれるかどうかを探していました。
クライアントとサーバーのコードを投稿してから、問題を説明します...
reader = new BufferedReader(new InputStreamReader(socket.getInputStream));
while(running)
{
String line = reader.readLine();
if(line != null)
{
System.out.println(line);
stream = new PrintStream(socket.getOutputStream());
stream.println("return: " + line);
}
}
}catch(IOException e)
{
System.out.println("Socket in use or not available: " + port);
}
}
public static void main()
{
run();
}
//Client
public static String ip;
public static int port;
public static Socket socket;
public static PrintStream stream;
public static BufferedReader reader;
public static void main(String args[])
{
try
{
socket = new socket(ip, port);
stream = new PrintStream(socket.getOutputStream());
stream.println("test0");
reader = new BufferedReader(new InputStreamReader(socket.getInputStream));
String line = reader.readLine();
if(line != null)
{
System.out.println(line);
}
stream.println("test1");
line = reader.readLine();
if(line != null)
{
System.out.println(line);
}
}catch(IOException e)
{
System.out.println("could not connect to server!");
}
}
したがって、私の問題は、ループを取り除き、文字列を2回送信しようとしても送信されないことです。クライアント側で新しいソケットを閉じて作成しない限り、一度だけ実行されます。だから、誰かが私が間違っていることを説明してくれたら、それは素晴らしいことです。どうもありがとう。