【送る側】
(MylogSend)
----------------------------------------------------------------
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.net.*;
public class MylogSend {
private static final String host = "000.000.000.000";
public static void main(String[] argv) throws Exception {
MylogSend.write("日本語もOK");
}
public static void write(String msg) {
System.out.println(host + "に接続します。" );
PrintWriter out = null;
try {
Socket socket = new Socket(host,514);
// 出力ストリームを取得
out = new PrintWriter(socket.getOutputStream(), true);
out.println(msg);
out.flush();
} catch (UnknownHostException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
finally{
if (out != null) {
out.close();
}
}
}
}
----------------------------------------------------------------
【受信側】
※コンソール落とすまでずっと受信し続ける
(Startup.class)
----------------------------------------------------------------
public class Startup {
static receive_data rcdata;
/**
* @param args
*/
public static void main(String[] args) {
rcdata = new receive_data();
if (args.length > 1) {
rcdata.intPort = Integer.parseInt(args[0]);
}
rcdata.start();
}
}
----------------------------------------------------------------
(receive_data.class)
----------------------------------------------------------------
import java.io.*;
import java.net.*;
import java.sql.Time;
import java.util.Date;
public class receive_data extends Thread {
Date time = new Date();
public int intPort = 514;
public String host = "000.000.000.000";
public receive_data() {
}
ServerSocket svsocket;
public void receive() throws Throwable{
InputStreamReader in = null;
try {
Socket socket = svsocket.accept();
InputStream ois = socket.getInputStream();
in = new InputStreamReader(ois, "SJIS");
BufferedReader bf = new BufferedReader(in);
time.setTime(System.currentTimeMillis());
System.out.println(time.toString());
String line;
while ((line = bf.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
finally{
in.close();
}
}
@Override
public void run() {
try {
svsocket = new ServerSocket(intPort);
System.out.println("クライアントからの接続をポート"+ intPort + "で待ちます。");
while (this != null) {
time.setTime(System.currentTimeMillis());
System.out.print(time.toString() + "~");
receive();
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (Throwable e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
}
}
----------------------------------------------------------------
0 件のコメント:
コメントを投稿