package com.alarm.prop.server;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocektServer {
private static ServerSocket serverSocket;
private static Socket socket;
private final static Integer SOCKET_PORT = 4567;
public static void main(String[] args) {
try {
serverSocket = new ServerSocket(SOCKET_PORT);
while(true){
socket = serverSocket.accept();
SendAlarmThread sendAlarmThread = new SendAlarmThread(socket);
Thread thread = new Thread(sendAlarmThread);
thread.start();
}
} catch (IOException e) {
e.printStackTrace();
} finally{
try {
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
class SendAlarmThread implements Runnable{
private BufferedWriter bos ;
public SendAlarmThread(Socket socket){
try {
bos = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
public void run() {
while(true){
try {
bos.write("hello");
bos.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();"> <mx:Script> <![CDATA[ import mx.controls.Alert; private var socket:Socket; private var alarmInfo:String; public function init():void{ socket = new Socket(); socket.connect("localhost",4567); setInterval(function():void{ while(socket.bytesAvailable){ alarmInfo+=socket.readMultiByte(socket.bytesAvailable,"utf-8"); } Alert.show(alarmInfo); },1000); } ]]> </mx:Script> </mx:Application>