ネットサーバー
import java.net.*; // Socket, ServerSocket
import java.io.*; // InputStream, InputStreamReader, BufferedReader etc
public class netServer {
public static void main(String args[]) {
netServer obj = new netServer();
obj.rcvProcess();
}
void rcvProcess() {
boolean exitf = false;
Socket socket;
ServerSocket serversocket;
BufferedReader netinput = null; // ネットワーク経由入力
try {
// 指定ポートでサーバソケット作成
serversocket = new ServerSocket(8005);
System.out.println("socket=" + serversocket);
while (!exitf) {
socket = serversocket.accept();
try {
// ソケットから入力ストリームを作成
InputStream inputstream = socket.getInputStream();
netinput =
new BufferedReader(new InputStreamReader(inputstream));
} catch (Exception e) { // 例外処理
System.out.println("accept : " + e);
}
try {
FileWriter fw = new FileWriter("temp.txt");
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);
FileInputStream fis = new FileInputStream("message.txt");
BufferedReader br =
new BufferedReader(new InputStreamReader(fis));
// クライアントからのデータを書き込む
while (true) {
// クライアントからのメッセージ受信
String data = netinput.readLine();
System.out.println("data:" + data);
if (data.equals(".end"))
break;
else if (data.equals(".exit")) {
exitf = true;
break;
} else {
pw.println(data);
}
}
pw.flush(); // バッファ内のデータを出力
String line;
while ((line = br.readLine()) != null) { // 1行入力
pw.println(line);
}
pw.close();
bw.close();
fw.close();
fis.close();
br.close();
//System.out.println("end");
} catch (Exception e) {
System.out.println("error in save: " + e);
}
File f1 = new File("temp.txt");
File f2 = new File("message.txt");
f2.delete();
f1.renameTo(f2);
System.out.println("end of save:");
} //while(!exit)
} catch (Exception e) {
System.out.println("error socket: " + e);
}
System.out.println(".exit");
}
}