Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package sdm_lab1;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.net.Socket;
- import java.util.ArrayList;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- *
- * @author Alina
- */
- public class ServerThread extends Thread {
- Socket socket;
- ArrayList<ServerThread> st;
- DataInputStream in = null;
- DataOutputStream out = null;
- ServerThread(Socket socket, ArrayList<ServerThread> st) {
- this.socket = socket;
- this.st = st;
- try {
- in = new DataInputStream(new BufferedInputStream(socket
- .getInputStream()));
- } catch (IOException ex) {
- Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
- }
- try {
- out = new DataOutputStream(new BufferedOutputStream(socket
- .getOutputStream()));
- } catch (IOException ex) {
- Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void run(){
- String incoming="";
- while (socket.isConnected()) {
- try {
- incoming = in.readUTF();
- } catch (IOException ex) {
- Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
- }
- for(ServerThread s:st)
- s.signal(incoming);
- }
- }
- public void signal(String m){
- try {
- out.writeUTF(m);
- } catch (IOException ex) {
- Logger.getLogger(ServerThread.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package sdm_lab1;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.ArrayList;
- /**
- *
- * @author Alina
- */
- public class MainServer {
- public static void main(String[] args) {
- DataInputStream in = null;
- DataOutputStream out = null;
- Socket socket = null;
- ServerSocket serverSocket = null;
- try {
- ArrayList <ServerThread> sts = new ArrayList<ServerThread>();
- serverSocket = new ServerSocket(2999, 0, InetAddress.getByName("localhost"));
- while(true) {
- socket = serverSocket.accept();
- ServerThread st = new ServerThread(socket, sts);
- sts.add(st);
- st.start();
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- out.close();
- in.close();
- socket.close();
- serverSocket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement