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>