Flash Socket 编程(1)

 

 Flash 在8.0的时候已经有了关于socket 一些功能,但是功能还局限在一定角落里面。在9.0的 player 发展后,socket处理有了很大的改善,可以发送一些二进制的数据,从而通信能力大大提高。在说socket编程之前,我们还是不能忘记,flash在服务器领域还是“小学生”,不过在客户端领域,它就是一个“研究生”;

 

首先我们看一些利用java做客户端,java做服务器来搭建一个最简单的通信。所用到的知识,包括输入输出流,还有Socket知识点。

 

原理: 通信的过程,是一个双工的过程,也就是说,客户端既然 发送端 也是接收端 。同样服务器也是一样。

socket 图解

从这里可以看出,客户端的输入流 就是服务器的输出流所发送来的信息。而服务器的输入流同样是客户端所发送来的

 

一,客户端

 

 

程序的入口:是main 函数。

在main函数里面创建一个socket对象: Socket s = new Socket(host,port);

并写上两个参数,一个是主机名,也是ip ,而port 就是端口,指定一个端口。(这个端口要在允许的范围填写)

 

接下来,创建两个输入输出流:

InputStream ips =s.getInputStream();
OutputStream ops=s.getOutputStream();

通过Socket类的 getInputStream 和getOutputStream 返回输入输出流信息

 

为了使效率提高,在客户端引用缓冲。BufferedReader类用于缓冲使用。

BufferedReader brNet = new BufferedReader(
     new InputStreamReader(ips));//输入流
     
   BufferedReader brKeyBoard = new BufferedReader(
     new InputStreamReader(System.in));//键盘缓冲

 

下一步 接收键盘输入的信息 以及 发送信息到服务器端里面去:

while(true){
    String strWord =brKeyBoard.readLine();
    pw.println("Jim:"+strWord+"/n");
    System.out.println(brNet.readLine());
   
   }

 

Socket 会抛出OException 异常,所以要进行捕捉。try{}catch()处理机制

 

 

 

二 服务器:

 

服务器搭建其实也很简单

首先创建一个ServerSocket ss=new ServerSocket(8001);

ServerSocket 对象,然后调用 accept()方法

Socket sk=ss.accept();一直阻塞,直到返回Socket对象这样我们就可以像在客户端一样进行输入流和输入出的处理。并返回输出结果 缓冲等等

 

 

输出结果:将客户端发送的字符串进行输出

  while((word=br.readLine())!=null)
   {   
    os.println("你好我是服务器");
    os.flush();
    System.out.println("内容:" + word);
   
   }

 

但问题其实还是有的,在客户端发送的时候,由于没有过滤掉回车符所以在服务器里面会输出两个结果

等待连接....
连接成功....
获取里面的内容......
内容:Jim:dd

内容:

 

注意一个是有内容,一个是没有内容导致这个Tcp的通信出现问题。

 

接下来,我们尝试搭建flash客户端

Flash socket编程(2)

 

http://blog.csdn.net/hero82748274/archive/2009/02/09/3871461.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值