Socket服务器:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
class SimpleServer {
private static SimpleServer simpleServer;
private ServerSocket server;
private Socket client;
private BufferedReader reader;
private BufferedWriter writer;
public static void main(String[] args) {
int port = 9999;
try {
port = Integer.parseInt(args[0]);
} catch (ArrayIndexOutOfBoundsException e) {
// Catch exception and keep going.
}
simpleServer = new SimpleServer(port);
}
private SimpleServer(int port) {
System.out.println(">> Starting SimpleServer");
try {
server = new ServerSocket(port);
client = server.accept();
reader = new BufferedReader(new InputStreamReader(client
.getInputStream(), "UTF-8"));
writer = new BufferedWriter(new OutputStreamWriter(client
.getOutputStream(), "UTF-8"));
writer.write("输入\"EXIT\"退出.\r");
System.out.println("输入\"EXIT\"退出.");
boolean done = false;
while (!done) {
String str = reader.readLine();
if (str == null) {
done = true;
} else {
if (str.trim().equals("EXIT")) {
done = true;
} else {
str = "我接收到(server):" + str.trim() + "\r";
out(str);
}
}
}
client.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private void out(String str) {
try {
writer.write(str);
writer.flush();
System.out.println(str);
} catch (Exception e) {
e.printStackTrace();
}
}
}
用法:
1.代码另存为SimpleServer.java
2.javac SimpleServer.java
3.java SimpleServer
Socket客户端:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
applicationComplete="appComp()">
<mx:Script>
<![CDATA[
private var socketServer:Socket;
[Bindable]
private var response:String="";
private function appComp():void
{
//连接服务器
var server:String="localhost";
var port:int=9999;
socketServer=new Socket(server, port);
//配置事件监听器
configListeners();
}
/**
* 配置事件监听器
*/
private function configListeners():void
{
//socket关闭事件
socketServer.addEventListener(Event.CLOSE, closeHandler);
//socket连接成功事件
socketServer.addEventListener(Event.CONNECT, connectHandler);
//socket连接不成功出的IO错误事件
socketServer.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
//访问权限出错事件
socketServer.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
//
socketServer.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler);
}
//socket写字节函数
private function writeln(str:String):void
{
str+="\n";
try
{
socketServer.writeUTFBytes(str);
}
catch (e:IOError)
{
trace(e);
}
}
//发送信息函数
private function sendRequest():void
{
trace("sendRequest");
response+=inTxt.text + "\n";
writeln(inTxt.text);
socketServer.flush();
inTxt.text = "";
}
//读入响应信息函数
private function readResponse():void
{
var str:String=socketServer.readUTFBytes(socketServer.bytesAvailable);
response+=str;
}
/**
* 关闭处理函数
*/
private function closeHandler(event:Event):void
{
trace("closeHandler: " + event);
trace(response.toString());
}
/**
* 连接成功处理函数
*/
private function connectHandler(event:Event):void
{
trace("connectHandler: " + event);
response+="已连接"
}
/**
* socket的IO错误处理函数
*/
private function ioErrorHandler(event:IOErrorEvent):void
{
trace("ioErrorHandler: " + event);
}
/**
* 安全错误处理函数
*/
private function securityErrorHandler(event:SecurityErrorEvent):void
{
trace("securityErrorHandler: " + event);
}
/**
* socket处理函数
*/
private function socketDataHandler(event:ProgressEvent):void
{
trace("socketDataHandler: " + event);
readResponse();
}
/**
* 发送按钮点击事件处理函数
*/
private function onClick(evt:Event):void
{
sendRequest();
}
]]>
</mx:Script>
<mx:TextArea text="{response}"
id="outTxt"
height="126"
width="283"
fontSize="12"/>
<mx:HBox verticalAlign="bottom"
width="282"
height="40">
<mx:TextArea id="inTxt"
width="100%"
height="100%"
fontSize="12"/>
<mx:Button label="发送"
fontSize="12"
click="onClick(event)"/>
</mx:HBox>
</mx:WindowedApplication>
分享到:
相关推荐
flex的air程序中执行exe s:WindowedApplication
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <![CDATA[ import mx.controls.CheckBox; import mx.controls.Alert;...</mx:WindowedApplication>
机器人腿 2.2.1 示例应用程序... s : WindowedApplication xmlns : fx = " http://ns.adobe.com/mxml/2009 " xmlns : s = " library://ns.adobe.com/flex/spark " xmlns : mx = " library://ns.adobe.com/flex/mx "
实用程序:桌面公民(AIR) 此实用程序使基于PureMVC的AIR应用程序能够在每次启动时记住其窗口大小,位置和最大化状态。 它还提供了一种在关闭应用程序窗口之前要求确认(或执行某些关闭过程)的功能。 包括标准版...
3796 i-FRAME 安装、操作和维护手册
我的visio画图
NPOI可以在没有安装Office的情况下对Word或Excel进行读写,NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目
STM32学习软件编程资料,STM32F103C8单片机经典外设应用设计实例软件源代码,KEIL工程文件,可供学习参考。
VoLTE高丢包优化指导书
5G通信行业、网络优化、通信工程建设资料
5G通信行业、网络优化、通信工程建设资料
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
该课题主要是以SpringMVC模式运行的,采用了mysql数据库进行数据的管理,掌握并且熟练使用百度API相关技术。系统分为了管理员用户和一般用户,主要有以下模块: 管理员用户: 1.实时路况管理:实时路况的信息采用了百度地图进行直观的管理,利用了GIS相关技术进行管理,能够让用户方便的第一时间查看到相应的地图信息,以及实时路况信息。 2.投诉留言管理:实现了对投诉留言信息的查看和回复。 3.系统信息设置:实现了系统的访问数据的统计,以及针对系统的管理员 用户和管理员密码进行管理。 4.用户信息管理:管理了一般用户的基本信息情况,针对用户的资料进行修改管理。 一般用户: 1.用户资料管理:实现了用户个人的资料信息管理。 2.路况信息查看:实现了对路径的实时信息的查看,某个路段在某时间的交通情况的查看,以三种情况代表路况情况(拥挤、缓行和畅通) 3.路况分析:采用了折线图,分析每天或者某个月的路况信息,以折线图形式直观展示。该功能采用jFreeChart库实现。 4.留言发布:针对一些路况信息,进行留言反馈,并能查看管理员反馈信息。
5G通信行业、网络优化、通信工程建设资料。
5G通信、网络优化与通信建设
5G通信行业、网络优化、通信工程建设资料。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
199-数据安全治理的思考与规划-论剑.pdf
SPVLoc: Semantic Panoramic Viewport Matching for 6D Camera Localization in Unseen Environments