http://www.evget.com/zh-CN/Info/catalog/13737.html

先简单说一下,为了更好地实现双向通信,.NET Framework在 3.0的时候引入了一个全新的通信协议Net.TCP并作为WCF的一部分。现在Net.TCP将包含在Silverlight 4中,相比于HTTP Polling Duplex,它极大地改进了吞吐量和连接的数量。
我们可以通过Silverlight 4绑定到HTTP Duplex Services上,因而应用可以不断轮询服务以进行更新,这模拟了双向通讯的工作方式。Silverlight 4则引入了一个更好的解决方案:Net.TCP Port Sharing Service。与HTTP不同,Net.TCP提供了本地的双向通信机制,极大地改进了应用的性能。打开的端口可以由多个应用共享,然而Silverlight只能访问介于4502-4534范围之间的端口。
根据微软WCF开发经理Tomasz Janczuk所述,相对于HTTP Duplex来说,Net.TCP在如下方面进行了重大的改进:

* 吞吐量:对于UI线程来说提升了5.5倍,对于worker线程来说提升了870倍。
    * 最大的客户端数量:服务器可支持的连接客户端数量是之前的5-6倍。

该协议适用于对通信速度要求很高的Silverlight应用。但其一个严重缺陷是所使用的一系列端口通常会被防火墙阻止,因此它不适合于公网、外部应用,而适合于局域网。另一个问题是它不支持SSL,这样就会遇到安全问题,Janczuk说将在未来解决该问题。

特分享一下这个demo,希望对大家有帮助。

项目结构如下图所示:  WebChat.Service 是一个宿主程序,主要是用来向Silverlight提供服务和监听943与4502-4534这个范围的自定端口的。

我们启动WebChat.Service宿主程序,进行监听商品,在命令提示符下打入netstat -na来查看我们监听的端口。

我监听的是943和4503这两个端口。

Silverlight使用net.tcp访问的时候要求请一个有策略文件,可以在程序里面这写也可以放到项目的根目录下。clientaccesspolicy.xml这个是必须的

如果您使用的是vs2010的话,可以在“在线模版”里面找到Silverlight TCP Socket Policy这个模版,新建就可以得到监听943端口的程序。哈哈!

里面有两个cs文件,

SocketPolicy.cs

SocketPolicy.cs

Silverlight4中用net.tcp双工方式进行通信相关推荐

  1. python中基于tcp协议的通信(数据传输)

    tcp协议:流式协议(以数据流的形式通信传输).安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层.数据 ...

  2. 从入门到入土:基于Python采用TCP协议实现通信功能的程序

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  3. 从入门到入土:基于C语言采用TCP协议实现通信功能的程序(仅有代码)

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  4. C#使用TCP进行聊天通信(详细解析)

    TCP通信可以使用Socket和TcpListene进行通信,TcpListene是Socket的一个封装,可以更好的操作Socket,底层依然是socket. 进行通信分为2部分,一个是服务端,一个 ...

  5. 多路双向串口转网口上位机C++源代码带主动连接支持UDP和TCP客户端Socket通信C语言

    多路双向串口转网口上位机C++源代码带主动连接支持UDP和TCP客户端Socket通信C语言 使用说明介绍 1.功能介绍: 完成了多路网口和串口数据转换的功能. 可实现串口接收到的数据,通过网口发送出 ...

  6. TCP实现局域网通信

    TCP实现局域网通信 TCP客户端通信步骤: 1:创建套接字 sockfd = socket(AF_INET ,SOCK_STREAM ,0); 2:填写服务器结构体信息 struct sockadd ...

  7. python 局域网通讯_python3 实现tcp/udp局域网通信

    1.tcp和udp的关系 tcp/ip是一个协议组,它可以分为四个部分,分别是:链路层.网络层.传输层.应用层 tcp和udp同属于tcp/ip的传输层 tcp是基于连接的协议,也就是说,在正式发送数 ...

  8. TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞

    原文地址:http://www.vckbase.com/document/viewdoc/?id=1773 这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人 ...

  9. TCP及socket通信原理详解

    TCP/IP原型 DARPA一个项目,逐渐演变而来的. 端口号 0~1023:管理员才有权限使用,永久地分配给某应用使用: 注册端口: 1024~41951:只有一部分被注册,分配原则上非特别严格: ...

最新文章

  1. ASP.NET2.0雷霆之怒盗链者的祝福【月儿原创】
  2. 使用OpenCV的findContours获取轮廓并切割(python)
  3. 【C++11】30分钟了解C++11新特性
  4. 几何画板200个经典课件_几何画板Sketchpad Mac(数学教学软件)中文版
  5. CodeForces 508E Arthur and Brackets 贪心
  6. 关于Adapter对数据库的查询、删除操作
  7. openssl NDK 交叉编译
  8. c++的构造函数初始化列表
  9. 【算法竞赛学习】心跳信号分类预测-特征工程
  10. 242. 有效的字母异位词 golang
  11. 使用HTML5的Canvas画布来剪裁用户头像
  12. java浮点数转二进制_浮点数转换成二进制
  13. Android中的内存泄露问题
  14. 【Vue实用功能】Vue监听浏览器刷新和关闭事件
  15. 笔记本电脑外接显示器投屏问题
  16. 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)
  17. 交换机故障诊断与排除
  18. 【RRT三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 155期】
  19. springboot源码 红色J_通达信主图指标源码之,启爆点
  20. Mofile牵手哪吒

热门文章

  1. iOS之“微信支付”开发流程
  2. Windows10 安装 Twisted
  3. 1027:输出浮点数
  4. python人工智能——机器学习——分类算法-朴素贝叶斯算法
  5. 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别
  6. 【机器视觉】 dev_set_tool_geometry算子
  7. 【机器视觉】 export_def算子
  8. 【工业控制】激光跟踪仪概述
  9. 【Linux系统编程】Linux线程浅析
  10. ps自定义形状工具_PS教程——用PS绘制虚线的三种方法