Игровой сервер Java и клиент [требует правки]

149
26 ноября 2017, 14:20

А вот такой код подойдет? Это клиент.

import java.io.*;
import java.net.*;
public class GameClient extends Thread {
    public static void main(String[] args) {
        try {
            Socket s = new Socket("localhost", 25565);
            // Вместо localhost ip компьютера и перенос строки:
            args[0] = args[0]+"\n"+s.getInetAddress().getHostAddress()+":"+s.getLocalPort();
            s.getOutputStream().write(args[0].getBytes());
            byte serv[] = new byte[64*1024];
            int r = s.getInputStream().read(serv);
            String data = new String(serv, 0, r);
            System.out.println(data);
        }catch(Expection e) {
            System.out.println("init error: "+e);
        }
    }
}

А это сервер:

import java.io.*;
import java.net.*;
public class GameServer extends Thread{
    Socket s;
    int num;
    public static void main(String args[]){
        try{
            int i = 0;
            ServerSocket server = new ServerSocket(2000, 0,
            InetAddress.getByName("localhost"));
            System.out.println("Your server was created! Happy game!");
            while(true) {
                new GameClient(i, server.accept());
                i++;
            }
        }catch(Exception e) {
            System.out.println("Can't create game server: "+e);
        }
    }
    public GameServer(int num, Socket s){
        this.num = num;
        this.s = s;
        setDaemon(true);
        setPriority(NORM_PRIORITY);
        start();
    }
    public void run(){
        try {
            InputStream is = s.getInputStream();
            OutputStream os = s.getOutputStream();
            byte serv[] = new byte[64*1024];
            int r = is.read(serv);
            String data = new String(serv, 0, r);
            data = ""+num+": "+"\n"+data;
            os.write(data.getBytes());
            s.close();
        }catch(Expection e) {
            System.out.println("init error: "+e);
        }
    }
}
READ ALSO
Работа с архивами.Java.Выгрузка файлов

Работа с архивами.Java.Выгрузка файлов

Пишу под андроид подобие некой книжки, "листы книги" храню в виде html-страничек, странички в архивеТребуется из архива взять страницы и загрузить...

171
Остановка функции JS

Остановка функции JS

Есть пользователи, получаемые из базы данныхКаждому пользователю можно сбросить пароль

153
Spring Boot CRUD - постраничный вывод

Spring Boot CRUD - постраничный вывод

Изучаю Spring Boot, по мануалам сделал приложение, которое выводит список людей с удалением, добавление, редактированием, все работаетТеперь пытаюсь...

136
Есть ли в Java 8 реализации паттерна монада?

Есть ли в Java 8 реализации паттерна монада?

Есть ли в стандартной библиотеке Java 8 реализации паттерна монада?

174