JavaのSocketで簡単なチャットツールを作成


1、      
package com.java.socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	public static void main(String args[]) throws IOException {
		String reces = null;
		int len;
		Socket socket = null;
		OutputStream outputstream = null;
		InputStream inputstream = null;
		byte[] rece = new byte[1000];
		try {
			ServerSocket serversocket = new ServerSocket(9527); //        ,   9527
			while (true) {
				socket = serversocket.accept();
				inputstream = socket.getInputStream();//      
				outputstream = socket.getOutputStream();//      
				len = inputstream.read(rece);//        
				if (len != 0)
					reces = new String(rece, 0, len);
				System.out.println(reces);
				BufferedReader bufferreader = new BufferedReader(
						new InputStreamReader(System.in));
				outputstream.write(("   ....."+bufferreader.readLine()).getBytes());//            
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			inputstream.close();
			outputstream.close();
			socket.close();//            ,       
		}

	}
}

2、クライアントコード
package com.java.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
public class Client {
	public static void main(String[] args) throws IOException {
		String ServerIpAddress = "127.0.0.1";//    IP
		String words = "Hello";//     
		String temp = null;
		byte[] serverSay = new byte[1000];//   <1KB
		InputStreamReader read = null;
		int len = 0;
		Socket s = null;
		OutputStream outputstream = null;
		InputStream inputstream = null;
		//       IP
		System.out.println("      IP(      ):");
		read = new InputStreamReader(System.in);
		try {
			temp = new BufferedReader(read).readLine();
			if (!temp.equals(""))
				ServerIpAddress = temp;
		} catch (IOException e1) {
		}
		//       Message
		System.out.println("      ( )   ----  QUIT   !!:");
		read = new InputStreamReader(System.in);
		while (true) {
			try {
				temp = "Hello";
				temp = new BufferedReader(read).readLine();
				words = temp;
				if (words.equals("quit"))
					break;
				temp = "   ....." + words;
				//     
				s = new Socket(InetAddress.getByName(ServerIpAddress), 9527);//     IP      
				outputstream = s.getOutputStream();
				inputstream = s.getInputStream();
				outputstream.write(temp.getBytes("gbk"));//         
				len = inputstream.read(serverSay);//        
				System.out.println( new String(serverSay, 0, len));//                 
			} catch (Exception e) {
			} finally {
				inputstream.close();
				outputstream.close();
				s.close();//            ,       
			}
		}// end while
	}
}