首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> 桌面开发 >> VB.net >> 正文
VB.NET实现PC与掌上电脑PPC的双向通信
来源:ChinaItLab 作者:佚名 时间:2007-7-5



  服务程序通过已连接的Socket获取数据,接收到的数据按相应的编码规则进行解码并将信息添加到列表框中:

……

CurThread = System.Threading.Thread.CurrentThread()

‘接受挂起的连接请求并返回可用来发送和接收数据的Socket

CurSocket = Listener.AcceptSocket

While Listening
 If CurSocket.Available > 0 Then
  ‘接收来自绑定的Socket的数据
  Bytes = CurSocket.Receive(Buffer, Buffer.Length, 0)
  ‘将接收到的数据转化成相应编码的字符串
  ReceivedData= Encoding.UTF8.GetString(Buffer)
  SyncLock CurThread
  lbReceived.Items.Add(ReceivedData)
End SyncLock
……

  TCPListener.AcceptSocket接受挂起的连接请求,并且返回用于发送和接收数据的 Socket,此 Socket 继续用于和新连接上的客户端通信。

  SyncLock 语句确保多个线程不会同时执行向列表框添加数据的操作。当线程到达 SyncLock 块时,将计算表达式并保持此互斥性,直到在表达式返回的对象上有锁为止。这防止了表达式在多个线程运行期间更改值,从而避免代码产生意外的结果。

  向客户端返回服务端处理后的消息,代码片段如下:

'格式化返回消息 - 这是服务器端处理后的结果并返回到客户端。

BacktoClientData = System.DateTime.Now ‘向客户端传递服务端程序处理时的时间
Buffer = Encoding.UTF8.GetBytes(BacktoClientData.ToCharArray)

'通过打开的套接字将结果发送回客户端应用程序,然后关闭该套接字。

CurSocket.Send(Buffer, Buffer.Length, 0)
CurSocket.Close()

  编译桌面服务端程序运行效果如下图所示:


  当服务程序处理完一个连接后就向相应的PPC客户端返回一条成功信息,如下图所示:


  至此,PPC客户端程序和桌面服务端程序编写完毕,该系统在安装WindowsXP SP2的桌面电脑和Dell X3i 的PPC上测试通过。

  四、结论

  本程序简单介绍了PC与PPC之间Socket通信方法,在实际应用中还有很多细节要做,并且还有可以拓展的地方。该模型为实现PC与PPC间复杂的信息交互,创建复杂的无线信息系统提供了一定技术基础。

上一页  [1] [2] [3] [4] 

【责编:Youping】
中国IT教育热线咨询
相关文章
多线程、Socket技术及委托技术的关系
VB.Net连接各种数据库的几种方法
Java中消除实现继承和面向接口编程
VB.NET中的多窗体编程:升级到 .NET…
实现Java平台的三种方式
Delphi中用API实现在MSN的信息提示
利用C#实现标注式消息提示窗口
用VB.NET定制Windows控件
VB.NET中监视文件夹的变化
如何用Delphi实现子目录级的文件查询
推荐文章

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·框架:J2EE WEB应用架构分析…03-13
·几种VC++数据库开发技术的相对比…03-13
·利用C#实现标注式消息提示窗口03-13
·用C#创建COM对象03-13
·Visual C#多线程参数传递浅析…03-13
·Visual C#多线程参数传递浅析…03-13
·基于HOOK和MMF的Win密码渗透技术11-15
·Visual C++设计超强仿QQ自动伸缩…11-15
·Java SE 6.0实现高质量桌面集成开…11-15
·史玉柱东山再起幕后高人11-15
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视…07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05