盘点NET与flex的通讯方式文档格式.docx
- 文档编号:15925594
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:95
- 大小:784.50KB
盘点NET与flex的通讯方式文档格式.docx
《盘点NET与flex的通讯方式文档格式.docx》由会员分享,可在线阅读,更多相关《盘点NET与flex的通讯方式文档格式.docx(95页珍藏版)》请在冰豆网上搜索。
下面通过C#提供一个Socket的服务端,并监听8888端口。
示例程序如下:
1usingSystem;
2usingSystem.Collections.Generic;
3usingSystem.Linq;
4usingSystem.Text;
5usingSystem.Net.Sockets;
6usingSystem.IO;
7
8namespaceFlashFlexDotNet
9{
10 classProgram
11 {
12 staticvoidMain(string[]args)
13 {
14 TcpListenerlistener;
15
16 try
17 {
18 listener=newTcpListener(8888);
19 }
20 catch(Exceptionex)
21 {
22 Console.WriteLine(ex.Message);
23 return;
24 }
25
26 listener.Start();
27 Console.WriteLine("
服务器启动,等待客户端连接."
);
28 boolloop=true;
29
30 while(loop)
31 {
32 Sockets=listener.AcceptSocket();
33 NetworkStreamns=newNetworkStream(s);
34 StreamReaderreader=newStreamReader(ns);
35 stringresult=string.Empty;
36 try
37 {
38 result=reader.ReadLine();
39 Console.WriteLine(result);
40 }
41 catch(Exceptionex)
42 {
43 Console.WriteLine(ex.Message);
44 }
45 }
46 }
47 }
48}
49
服务器端Socket已经准备完毕,下面看看客户端的ActionScript的XMLSocket怎么来建立Socket连接与.net的Socket服务端进行通信。
如本文前介绍,ActionScript3.0提供了基于Socket的网络连接类XMLSocket,我们可以直接使用它来开发基于Socket的网络通信。
如下建立一个基与ActionScript3.0提供的XMLSocket的网络连接:
1privatefunctionconnectionServer():
void
2{
3 xmlConn=newXMLSocket();
4 xmlConn.connect("
127.0.0.1"
8888);
5}
随后,便可以通过XMLSocket的实例方法send()向Socket服务端发送消息了。
如下代码定义:
1 privatefunctiononSend():
2 {
3 xmlConn.send(txtData.text+"
n"
4 }
客户端完整代码:
1<
?
xmlversion="
1.0"
encoding="
utf-8"
>
2<
mx:
Applicationxmlns:
mx="
3 backgroundGradientAlphas="
[1.0,1.0]"
4 backgroundGradientColors="
[#CDCAE6,#FFFFFF]"
5 <
Script>
6 <
!
[CDATA[
7 importmx.controls.Alert;
8
9 privatevarxmlConn:
XMLSocket;
10
11 privatefunctionconnectionServer():
12 {
13 xmlConn=newXMLSocket();
14 xmlConn.connect("
15 }
16
17 privatefunctiononSend():
18 {
19 xmlConn.send(txtData.text+"
20 }
21 ]]>
22 <
/mx:
23 <
TextAreax="
43"
y="
34"
height="
120"
width="
263"
id="
txtData"
/>
24 <
Buttonx="
93"
180"
label="
连接"
fontSize="
12"
click="
connectionServer()"
25 <
190"
发送"
onSend()"
26<
Application>
如下为本文示例程序测试结果图:
文章出处:
(二):
基于WebService的数据访问(上)
本文以.NET平台下C#语言开发的WebService作为远程Webservice,详细介绍Flex与.NET的WebService的数据通信知识点;
包括连接WebService,远程调用WebService方法,给WebService方法传递参数等相关知识点。
三个标签的使用方法基本上是一样,这里就以<
WebService>
标签为例进行介绍。
首先看看如下代码块:
1 <
WebServiceid="
dataService"
2 wsdl="
http:
//localhost/FlashFlex/DataWebService.asmx?
wsdl"
3 useProxy="
false"
4 <
operationname="
HelloWorld"
result="
onSuccess(event)"
fault="
onFault(event)"
5 <
GetBook"
onObjectSuccess(event)"
6 <
wsdl属性指定到要访问的WebService的wsdl地址既可,其中定义了两个操作标签(<
operation>
),分别对应于WebService中定义的WebMethod方法。
result属性标记访问WebService方法成功后的处理函数;
fault则相反,指定于访问失败的处理函数。
以上两个<
对应于WebService的WebMethod方法如下:
1 ///<
summary>
2 ///返回字符串
3 ///<
/summary>
4 ///<
returns>
<
/returns>
5 [WebMethod]
6 publicstringHelloWorld()
7 {
8 return"
;
9 }
10
11 ///<
12 ///返回一个简单对象
13 ///<
14 ///<
15 [WebMethod]
16 publicBookGetBook()
17 {
18 returnnewBook
19 {
20 Id=1,
21 Name="
三国演义"
22 Author="
罗贯中"
23 Price=100
24 };
25 }
如上便是WebService方法定义和在Flex的客户端(mxml)通过<
标签来访问WebService的完整流程,下面我们来看看在Flex的客户端怎么去调用WebService所定义的方法:
2 <
3 importmx.controls.Alert;
4 importmx.rpc.events.FaultEvent;
5 importmx.rpc.events.ResultEvent;
6
7 /**
8 *向WebService发起请求--调用HelloWorld方法,dataService为<
的id
9 **/
10 internalfunctiononRequest():
11 {
12 dataService.HelloWorld();
13 }
14
15 /**
16 *请求成功处理返回结果
17 **/
18 internalfunctiononSuccess(evt:
ResultEvent):
20 Alert.show(evt.result.toString());
21 }
22
23
24 /**
25 *请求失败的处理函数
26 **/
27 internalfunctiononFault(evt:
FaultEvent):
28
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 盘点 NET flex 通讯 方式