java和flex通过socket通信的简单示例

本文介绍了一个使用 Java 实现的简单 Socket 服务器程序。该服务器监听 4567 端口,并通过创建线程的方式处理客户端连接请求,向每个连接的客户端周期性发送 'hello' 消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值