windows phone使用Beetle实现对象交互的TCP通讯
2012-06-17 10:41
387 查看
Beetle提供了基于Silverlight的实现Beetle.SL,由于WP7开发也是提供了Socket的支持所以Beetle.SL是完全可以在WP7下使用。还有ProtoBuf.net同样也支持WP7,因此可以通过Beetle.SL+ProtoBuf.net就能在WP7下实现基于对象传输的TCP通讯应用。
首先新建一个WP项目,分别引用Beetle.WP.DLL,Beetle.WP.ProtoBuf.DLL和protobuf-net.DLL;以上组件分另可以到http://beetlesl.codeplex.com/和http://code.google.com/p/protobuf-net/获取得到.接下来做个简单的客户查询应用.
主要功能是登陆后就可以进行一个客户信息查询,可以输入需要查询的客户名称。
通过连接按钮事件进行一个TCP连接,并在连接成功后把查询按钮变成可用.
在查询按钮中进行一个查询对象查询,同时在接收事件中进行数据绑定即可。
这样一个简单的用户查询就完成了,在windows phone下使用Beetle进行TCP通讯是不是很简单的事情:)
如果你有需要可以到http://beetlesl.codeplex.com/ 获取相关代码
首先新建一个WP项目,分别引用Beetle.WP.DLL,Beetle.WP.ProtoBuf.DLL和protobuf-net.DLL;以上组件分另可以到http://beetlesl.codeplex.com/和http://code.google.com/p/protobuf-net/获取得到.接下来做个简单的客户查询应用.
界面制定
主要功能是登陆后就可以进行一个客户信息查询,可以输入需要查询的客户名称。
详细代码实现
创建一个基于ProtoBuf的Tcp连接,并在程序加载过程绑定相关事件private Beetle.ProtoBufAdapter.ProtoBufChannel mChannel = new Beetle.ProtoBufAdapter.ProtoBufChannel(); private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { MessageAdapter.LoadMessage(GetType().Assembly); mChannel.Connected += OnConnected; mChannel.Disposed += OnDisposed; mChannel.Receive += OnReceive; mChannel.Error += OnError; }
通过连接按钮事件进行一个TCP连接,并在连接成功后把查询按钮变成可用.
private void cmdConnect_Click(object sender, RoutedEventArgs e) { mChannel.Connect(txtIPAddress.Text, 4520); } private void OnConnected(object sender, EventChannelArges e) { this.Dispatcher.BeginInvoke(() => { cmdConnect.IsEnabled = false; cmdSearch.IsEnabled = true; txtStatus.Text = "Connected"; }); }
在查询按钮中进行一个查询对象查询,同时在接收事件中进行数据绑定即可。
private void cmdSearch_Click(object sender, RoutedEventArgs e) { Packages.Search search = new Packages.Search(); search.CompanyName = txtCustomerName.Text; MessageAdapter.Send(mChannel, search); } private void OnReceive(object sender, EventChannelReceiveArgs e) { MessageAdapter adapter = (MessageAdapter)e.Message; if (adapter.Message is Packages.SearchResult) { Packages.SearchResult result = (Packages.SearchResult)adapter.Message; this.Dispatcher.BeginInvoke(() => { lstCustomers.ItemsSource = result.Customers; }); } }
这样一个简单的用户查询就完成了,在windows phone下使用Beetle进行TCP通讯是不是很简单的事情:)
如果你有需要可以到http://beetlesl.codeplex.com/ 获取相关代码
相关文章推荐
- Beetle在TCP通讯中使用二进制序列化对象传输
- wp8使用Beetle.NetPackage实现基于TCP通讯的订单查询
- Beetle在TCP通讯中使用协议分析器和自定义协议对象
- 使用JAVA executor实现TCP 网络通讯
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
- C#中使用异步Socket编程实现TCP网络服务的CS的通讯构架(一)----基础类库部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)
- QQ使用了什么通讯协议?为什么要这样做?为什么采用 UDP 协议,而不采用 TCP 协议实现?
- C#使用异步Socket实现TCP网络服务的CS的通讯构架(二)使用方法
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务1[使用IE浏览本页]
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
- [转]在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)
- [转载]在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分 .
- 【转】 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架2
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分(转)
- Beetle可靠、高性能的.Net Socket Tcp通讯组件 支持flash amf3,protobuf,Silverlight,windows phone
- .Net网络通讯编程[利用Socket实现字串、文件、序列化对象传输]--使用封装的网络服务2[使用IE浏览本页]
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互