IdHttpServer实现webservice(130篇DataSnap文章)

IdHttpServer实现webservice

朋友有个项目,通信协议使用HTTP,数据序列使用BIN(二进制)。他不知道要选用何种技术方案。

REST webservice是http+json,SOAP webservice是http+xml,好像都不适合。

于是想到了使用INDY的TidHttpServer控件来实现。TidHttpServer是可以实现webservice中间件的。

限于篇幅,省略若干代码。

中间件代码:

//设置绑定参数
IdHTTPServer1.Bindings.Clear;
IdHTTPServer1.DefaultPort:= 8000;
IdHTTPServer1.Bindings.Add.IP := ‘127.0.0.1‘;
//启动服务器
IdHTTPServer1.Active := True;

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
memo1.Lines.Add(ARequestInfo.Document) ;
memo1.Lines.Add(arequestinfo.Params.Values[‘t1‘]) ;
memo1.Lines.Add(arequestinfo.Params.Values[‘t2‘]);
end;

IE浏览器输入:http://127.0.0.1:8000/test?t1=china&t2=cxg

中间件执行效果图:

上面是通过HTTP的GET方法调用中间件的方法和传递参数,同样,HTTP的POST也可以。

寥寥数行,就能实现一个超级无敌简单的WEBSERVICE 中间件。不知道诸位看出来了,这么简单的中间件却有一个灵活的地方:它的数据序列格式可以是TEXT、JSON、XML或者BIN等。

http://www.cnblogs.com/hnxxcxg/p/3395524.html

------------------------------------------------------------------

我仿照了 这个教程。 结果没反应,帮忙看下 问题出在哪里。 多谢老师

你那个是实现webservice的,有啥用,还得apache
你就用idhttpserver然后实现一个简单的http服务器,内嵌一个html页面,可以post数据到你的服务器上,idhttpserver响应post消息并保存到当前目录下就ok了

时间: 2025-01-02 09:52:41

IdHttpServer实现webservice(130篇DataSnap文章)的相关文章

前段时间一直不知道怎么学习,在网上找到一篇好文章分享给在路上的产品经理

如果你也是一枚刚入门的交互设计师,是不是常有这样一种感觉:不知从何下手,闷头读了一大堆书.学了一大堆软件.画了一大堆图之后还是感觉心里不踏实,总害怕自己还缺点什么,恨不得要有本<交互设计学习大纲>就好了.出现这个问题有两个原因,一是交互设计师没有可视性强的产物,交互设计师的产物一般是线框图.流程图.信息架构图.说明文档等等,但这些东西既不如视觉设计稿华丽精美,也不如程序代码高贵冷艳,在外行人看来初级交互设计师和高级交互设计师画的好像都差不多,轻易看不出你修炼到了几层功力;第二个原因是交互设计是

js查找一篇英文文章中出现频率最高的单词

下面这个函数是js查找一篇英文文章中出现频率最高的单词(由26个英文字母大小写构成),输出该单词及出现次数,不区分大小写,主要是正则的运用: function counts(article){ article = article.trim().toUpperCase(); var array = article.match(/[A-z]+/g); article = " "+array.join(" ")+" "; var max = 0,wor

IdHttpServer实现webservice

IdHttpServer实现webservice 朋友有个项目,通信协议使用HTTP,数据序列使用BIN(二进制).他不知道要选用何种技术方案. REST webservice是http+json,SOAP webservice是http+xml,好像都不适合. 于是想到了使用INDY的TidHttpServer控件来实现.TidHttpServer是可以实现webservice中间件的. 限于篇幅,省略若干代码. 中间件代码: //设置绑定参数IdHTTPServer1.Bindings.Cl

jsp连接mysql----------第一篇技术类文章

今天做作业连了一天的mysql. 最后我痛定思痛,决定从0开始学习jsp,省的又面临不会的局面. 忙活了一晚上,终于把数据库连接上了,不过,好伤心啊,我连个数据库都这么墨迹... <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@page import="data.database"%> <%@page

转载一篇好文章

作者:熊 辉美国罗格斯-新泽西州立大学 记得我刚开始写英文论文的时候,感觉很棘手,效率也低,常常一个摘要就要写上两三天.现在我当了 8 年教授,写了一百多篇论文,逐渐可以快写这种“八股文”了.由于我现在身份转换了,也因为身为老师,要经常修改学生的英文论文,为了不让自己在修改论文时太痛苦,就常常思考该如何训练学生写好英文论文. 其实,发表出来的文章基本可分为两种:一种是属于看上去很美,但不能细看,细看就会发现一些问题:另一种是看上去很美,也真的很美,而且很耐读.如何写成第二种呢?学生写英文论文经常

转几篇WPF文章

How to view word document in WPF application (CSVSTOViewWordInWPF) WPF 浏览PDF 文件 如何保存RichTextBox的文本到数据库?以及如何对RichTextBox的Document做绑定? 使用ViewModel模式来简化WPF的TreeView 转几篇WPF文章

统计一篇英文文章内每个单词出现频率,并返回出现频率最高的前10个单词及其出现次数

统计一篇英文文章内每个单词出现频率,并返回出现频率最高的前10个单词及其出现次数 from collections import Counter import re with open('a.txt', 'r', encoding='utf-8') as f: txt = f.read() c = Counter(re.split('\W+',txt)) #取出每个单词出现的个数 print(c) ret = c.most_common(10) #取出频率最高的前10个 print(ret) 原

跟我学SpringCloud | 终篇:文章汇总(持续更新)

SpringCloud系列教程 | 终篇:文章汇总(持续更新) 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: [email protected]. Github源码下载:https://github.com/meteor1993/SpringCloudLearning <跟我学SpringCloud>系列: Greenwich版 Spring Cloud Greenwich.SR1; Spring Boot 2.1

一篇老文章 - 语言之争

这篇文章原来发在CSDN上,我的CSDN账号不知被啥原因封了之后,这篇文章就找不到了.今天在Evernote的笔记里偶然找到了,转发在这里. Java和.Net选哪个?这是每一个菜鸟都必须要面对的问题.Java 可能是大多数程序员学习的第一个面向对象的编程语言.它最大的优势就是跨平台性.其实,在国内小型机当道的时代,Java 是唯一可以选择的开发语言,因为.net 根本不能在AIX 上运行.那么为什么国内以前会流行小机呢?这主要是中国人多,所以国内的网站对并发要求很高,所以很难用X86架构来支持