jashdf 2016-11-24 12:21 采纳率: 0%
浏览 884
已结题

项目中网络通讯协议的基础问题和学习方法

本人机械专业出身,一直在做叉车设计的工作。随着公司开始发展,无奈被逼向去做自动化设计。哎,真的有太多知识需要恶补。 目前呢,项目中遇到一个大问题,就是通讯这一块

  1. 项目中要我们的车队管理系统(一个Webserver)要和客户的Info WMS进行连接。目前有三种解决方法。 a. 客户在他们的WMS服务器上建立一个文本文档,然后让我们的作为客户端去访问它。基于什么协议我不太清楚,网上查了一些据说共享文件的传输协议都是FTP。不知道是不是真的?以前做项目时候碰到过一家供应商抱怨说是读取服务器上的文本文档十分落后,而且数据流量大很容易死机。我想反驳他们,不知道这个理由成不成立?如果是其他协议像HTTP,能不能去读取这个文本文档呢?(我那时候不懂,想一个文本文档最多也就几k为什么流量大?) b. 客户的作为客户端连接我们的服务器。是不是意味着客户需要写一个专门通讯的程序? 我们的服务器仅支持HTTP协议(仔细研究了一下,虽说是http,但是客户端向服务器请求的时候用的是soap协议,传输的是xml的文档,其内容根据服务器反馈的wsdl;然后服务器返回一个soap文档,)。不知道这样理解对不对? c. 方案三就是通过另外一套软件wavelink,协议为telnet。具供应商说这样我们双方都不要写什么程序,通过这个软件就可以作为中间层转化数据。不知道这样现实吗?

另外,问题来了。
1、数据是究竟怎么传输的? 我恶补很多代码,但是开头都是
POST /WebServices/WeatherWebService.asmx HTTP/1.1
Host: www.webxml.com.cn
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 200
SOAPAction: "http://WebXml.com.cn/getSupportCity"
我想这个就是所谓的http soap协议去连接服务器吧。那接下来是不是服务器会反馈一个200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 200
客户的服务器才能继续进行传输?

2、数据是怎么传输的? 因为wms一开始是按照我的格式要求“项目+时间+位置+动作+其他”写在一个txt文档中,让我不断的去读,一有更新就读。如果现在用了http soap协议,客户是将这个txt文档发送到我的服务器上我自己把它读出来还是说他会在程序中直接以xml的格式写出来?(各位大侠如果有一段代码让我看一下,能够帮助我加深理解)因为我一直纠结这到底是http把这个文档(无论是XSD还是xml格式)发送到我的服务器上而已呢还是说程序内直接发送这些我要的数据给我。如果是直接发送,我的服务器应该说会储存这些数据并检验(看操作说明上是有Error反馈代码。)
所有我看的代码,都是建立连接后就没有后续了,所以真的很难理解是怎么传输数据的? 一会儿soap负责请求和数据定义,一会儿说这些数据还需要根据wsdl协议的反馈来写,一会儿说要用xsd去定义传输数据的协议。完全晕了。

另外,我自己正在努力学C++,如果以后要再往通讯这一块走,应该在学习些什么?TCP/IP还是说HTTP技术?

  • 写回答

1条回答

  • 清风徐来1234 2016-11-25 13:30
    关注

    不论是soap协议 还是http协议。。nfs共享,FTP都能满足不通场景下的数据共享需求。。消息中间件也能解决你的问题。。具体还要看你的应用场景。。http与tcpip是不同层面的东西。。可以私聊。。

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧