C#.NET通过Socket实现平行主机之间网络通讯

 我来答
华源网络
2022-10-04 · TA获得超过5524个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:140万
展开全部

  在程序设计中 涉及数据存储和数据交换的时候 不管是B/S还是C/S模式 都有这样一个概念 这要求一台性能和配置都比较好的主机作为服务器 以满足数目众多的客户端进行频繁访问 但是对于一些数据交换的要求不主同 而且涉及到的通讯个体数目不多 如果还采用 一主机多客户机 的模式 便要求一台配置良好而且上安装了相关数据服务软件 这样会造成硬件和软件上的很多不必要的成本 这时Socket在点对点的平行对象之间的通讯的优势就就发挥出来了

  其实对于Socket通讯来说 服务器和客户端的界定不像数据库服务器与客户端那样明显 甚至可以说Socket通讯里面的服务器和客户端只是相对的 因为网络通讯的对象基本上是处于平等层面的 只是为了方便对两台联网通讯的主机的描述才这样定义称谓的

  由于在中Socket通讯的建立很容易 所以本文主要介绍一个Socket的比较典型的应用的流程 客户端向服务器发送图片请求 图片服务器接收到请求 并将服务器上的图片编码 发送到客户端 客户端得到图片数据后 再将这些数据写成图片文件 保存在客户端上

  本文主要是对Socket的一个应用进行介绍 所以至于其原理在此没有深究 至于如何建立Socket还有如何实现网络的七层协议在此都没有进行相关研究和介绍 本文主要介绍如何实现一个用户想要的功能 即在两台主机之间进行通讯 通过网络来收发用户想要收发的数据

  一 通讯流程图

  

  [nextpage]  

  三 测试socket的连接方法 telnet远程登录

  用户可以同时对客户端和端的Socket程序进行编写 然后进行联调 也可以一次只编写一个 然后通过下面的方法来测试Socket连接

  一般通过远程登录来测试连接是否成功 比如测试本机的 端口是否能连接成功

   运行->cmd->telnet

  在没有运行对本机的 端口进行不断侦听的程序时 会出现连接失败的提示

  

  如果连接成功 则会弹出另外一个窗口

  

  如果在侦听线程里面设置断点 通常连接成功后 就会在

  Socket sRecmdTemp = sRecvCmd Accept();

  之后的语句上断点

  附近演示程序的说明

   使用VS 创建

   主要实现的功能是 主机A向主机B发图片请求 主机B将D盘image目录下的image jpg image jpg文件编码发送到主机B 主机B再解码并写成图片文件到E盘的image目录下

   为了方便调试 演示程序将服务器和客户端同时放在本机上 即localhost或者 即本程序最终实现的效果就是将本机的D 盘image目录下的两个指定名称的图片传送到E盘image目录下 所以在运行本程序前 先在D:/image目录下放置两张命名为 image jpg image jpg的图片文件

lishixinzhi/Article/program/net/201311/11802

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式