Java套接字重复发送数据

时间:2017-12-09 21:29:29

标签: java sockets

我试图制作战争游戏,在局域网上作为家庭作业。问题是我需要自己学习java中的套接字是如何工作的。我需要的只是发送整数并使用它们,然后返回一些值,通知其他玩家他的得分。

客户(播放器1):

public static void main(String[] args) throws IOException {
    int number, temp;
    Scanner sc = new Scanner(System.in);
    Socket s = new Socket("localhost", 1342);
    Scanner sc1 = new Scanner(s.getInputStream());
    System.out.println("Number: ");
    PrintStream p = new PrintStream(s.getOutputStream());
    for (int i = 0; i < 10; i++) {  
        number = sc.nextInt();          
        p.println(number);
        temp = sc1.nextInt();
        System.out.println(temp);
    }

}

服务器(播放器2):

public static void main(String args[]) throws IOException {
    int number = 0, temp;
    ServerSocket s1 = new ServerSocket(1342);
    Socket ss = s1.accept();
    Scanner sc = new Scanner(ss.getInputStream());
    PrintStream p = new PrintStream(ss.getOutputStream());
    for (int i = 0; i < 10; i++) {
        number = sc.nextInt();
        temp = number * 2;
        p.print(temp);
        System.out.println(""+temp);
    }
}

我想发送10个号码并将它们接收回来乘以2.我可以轻松地将其更改为对游戏进行实际计算,但我需要了解套接字是如何工作的。

我没有for循环工作但现在的问题是,即使服务器发送它,我也不会返回任何数字。客户端在取消服务器应用程序后收到它。

0 个答案:

没有答案