gpt4 book ai didi

java - 为什么这个套接字数据只发送一次到 Java 服务器?

转载 作者:行者123 更新时间:2023-11-29 10:14:19 24 4
gpt4 key购买 nike

我只是想要一个程序网络游戏,需要之间进行通信客户端启动...服务器是的...客户给我卡片...(服务器不响应此代码,如果我必须始终创建新的套接字,我将如何获得相同的地址……本地主机仅用于测试目的)套接字只运行一次我不明白为什么???????

我在服务器上监听 while true 但它只得到一个字符串并且在下一次尝试时没有得到任何东西....

服务器只是在听和读

package client;     

import java.net.*;
import java.io.*;

public class Client {

Client() {
try {
Socket socket = new Socket("localhost",2222);
int i=0;
while(i<100){
i++;
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os,true);
pw.println(i);
}
} catch(IOException e){
System.out.println("Client Constructor Exception");
}
}

public static void main(String[] args) throws Exception{
Client client = new Client();
}
}

服务器代码是.....请帮助我

package server;

import java.io.*;
import java.net.*;

public class Server {

Server() {
try{
serverSocket = new ServerSocket(2222);
} catch(IOException e) {
System.out.println("IOException in Server Constructor");
}
}

public void operate() {
try{
// Control control = new Control();
while (true) {
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
System.out.println(br.readLine());
//control.recieve(socket, br.readLine());
}
} catch(IOException e) {
System.out.println("IOException in Server operate function");
}
}

public Socket getSocket() {
return socket;
}

public static void main(String[] args) throws IOException {
Server server = new Server();
server.operate();
}

private ServerSocket serverSocket;
private Socket socket;
}

输出是:

运行:开始

为什么跑不了100次.....

最佳答案

你每次在循环中创建一个新的套接字,你想得到

socket = new Socket("localhost",2222); 

无限循环之外

关于java - 为什么这个套接字数据只发送一次到 Java 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22378943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com