当前位置:首页 » 城管服务 » c服务引用

c服务引用

发布时间: 2021-01-27 12:06:40

㈠ Java客户端远程调用C服务

真没有作过相关的开发,Java和C之间相互调用,本地的使用jni或者是直接发送Windows消息;远程的,都版是使用socket通信的。谈一些想权法,希望能给你些帮助,纸上谈兵:
1)现在常用的异构系统之间的调用,采用Web Service的方法,没做过,但是应该可以。
2)RMI是Java To Java,另外Sun还提供了RMI-IIOP,这个是综合了RMI和Corba,是可以用在Java和其它语言对象之间的远程调用,但是我没有资料,也许你需要看看Corba的基本知识,如何使用idl来定义C对象的接口.
3)我不知道你对C所在的服务器有什么要求,是否可以运行Java.如果可以,那么有一个方法,你可以做一个Java程序来作为RMI的服务器,然后这个Java程序负责和Java客户通信,通信的方式还是RMI.然后,在这个Java服务程序中,同过jni的方法调用你的C程序.

㈡ 微服务中,A服务调用B,B调用C,C调用D,连续调用过程中,出现超时怎么办

传递调用,如果超时传递就失效了,没有太好的 办法,记录日志,返回报错信息。

㈢ c:windows\system32\config\systemprofile\desktop引用了一个不可用的位置

你去另一台电脑下载软件,然后把软件安装包发送到u盘,U盘插入您的电脑找到安版装包位置,开始安装。权

开启administrator,登陆后复制admin用户里的“桌面”空文件夹,再把原来的桌面文件复制回去,重新登录!。


这个不行的话,就点开始,把鼠标移到我的电脑,右键 ,创建快捷方式 试试看。

㈣ 在C#中怎样调用一个C,C++的接口

把函来数的声明、定义和调用分清楚。自
[dllimport(...)]
public static extern int 方法b(int 参数);
这个是声明
因为函数是在dll中实现的,所以不需要定义。
调用
int result = 方法b(a); //这里的a是实参
在C语言的dll中:
int 方法b(int c) //这里的c是形参
{
...
}

㈤ C/S程序怎么在后台调用服务器的WebService

1、新建一个文本文件,把扩展名改成.vbs
2、右键点击这个vbs文件,在弹出的菜单中选回择编辑
3、输入以下命令
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c test",vbhide
然后答Ctrl+S保存
4、最后打开这个vbs文件即可
没有dos窗口,也没有任务栏图标,你也可以打开任务管理器在上面找到cmd.exe这就是你后台运行的批处理命令。
5、批量处理是一个ASCII文件,它包含一个或多个操作系统命令。批处理程序的文件名的扩展名是.cmd 或.bat。当您在命令提示中键入文件名,或者当从另一个程序运行批处理程序时,其命令将按顺序处理。批处理程序也被称为批处理文件,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。

㈥ 51单片机模块化,中断服务函数(在main.c中)所提供的值,能不能被其他.c文件调用怎么调用

楼上已经说了。
跨文件、跨模块的全局变量引用,引用方在声明该全局变量/函数时,需要在前面加上extern关键字,这样编译器才会知道“哦,这个名字在这个文件不一定有声明,要把所有文件编译了也许才能找到”。

㈦ java怎么引用c

Java调用C语言程抄序时,主要是涉袭及到操作系统底层的事件。这种时间Java无法处理,例如用户上传一个视频文件,需要后台给视频加上水印,或者后台分离视频流和音频流。只能通过调用C语言处理。
使用Java如何去调用C语言的接口呢?使用Java的JNI技术。
具体调用步骤如下:
1.首先创建Java文件 HelloJni.java ,并创建native方法。
2.编译Java文件并生成java头文件。
3.创建C语言文件,HelloWorld.c。
4.生成动态链接库文件 libhello.so。
5.设置动态链接库文件的目录。
6.把刚才生成的so文件拷贝到/home/lib下,然后执行class文件。

㈧ C语言中如何引用其它C源文件中的函数

在源文件A1.c中调用.c 中的函数有两种方法:

1、在A2.c中有完整的函数定义,在A1.c中添加一下要用到的函数原型(声明)就可以了,例如:

在A2.c中:有函数void A2(){...};。

在A1.c中:在文件前头增加一行:void A2();就可以了。

2、把A2.c中完整定义的函数的原型,写到一个A2.h文件中,然后在A1.c的文件头增加#include "A2.h"就可以了。

以上两种方法,在A1.c中都可以正常的调用,就跟在A2.c中调用一样。

其实函数默认是外部的,只要在其他文件中声明就能使用;但是注意如果在前面加上static,就只能在本文件中使用了,不能再被其他的文件调用。

(8)c服务引用扩展阅读:

1、一个.h文件要 对应有一个.c文件,这样链接器就可以调用这个文件里的函数。比如a.h 和 a.c。

2、把相应的函数定义写在.c文件中。这里要强调一点:要加上#include ".h",这个一般作为一种工程规范。因为如果.c文件中的函数也需要调用同个.c中的其它函数,那么这个.c往往会include对应的.h。比如头文件里进行了变量的声明,这个时候对应的.c文件是一定要加上这个头文件的。

3、再在其他的main.c文件开头添加#include "a.h"。

㈨ JAVA调用C语言发布的webservice接口

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。
1、编写代码方式:

packagecom.yun.test;
importjava.rmi.RemoteException;
importorg.apache.axis.client.Call;
importorg.apache.axis.client.Service;
importorg.apache.axis.message.PrefixedQName;
importorg.apache.axis.message.SOAPHeaderElement;
importcom.cezanne.golden.user.Exception;
importcom.cezanne.golden.user.UserManagerServiceProxy;
importjavax.xml.namespace.QName;
importjava.net.MalformedURLException;
importjavax.xml.rpc.ServiceException;
importjavax.xml.soap.Name;
importjavax.xml.soap.SOAPException;
publicclasstestWebService{
publicstaticStringgetResult()throwsServiceException,MalformedURLException,RemoteException,SOAPException
{
//标识WebService的具体路径
Stringendpoint="WebService服务地址";
//创建Service实例
Serviceservice=newService();
//通过Service实例创建Call的实例
Callcall=(Call)service.createCall();
//将WebService的服务路径加入到call实例之中.
call.setTargetEndpointAddress(newjava.net.URL(endpoint));//为Call设置服务的位置
//由于需要认证,故需要设置调用的SOAP头信息。
NameheaderName=newPrefixedQName(newQName("发布的wsdl里的targetNamespace里的url","string_itemName"));
org.apache.axis.message.SOAPHeaderElementheader=newSOAPHeaderElement(headerName);
header.addTextNode("blablabla");
call.addHeader(header);

//=newSOAPHeaderElement("发布的wsdl里的targetNamespace里的url","SoapHeader");
//soapHeaderElement.setNamespaceURI("发布的wsdl里的targetNamespace里的url");
//try
//{
//soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
//}
//catch(SOAPExceptione)
//{
//e.printStackTrace();
//}
//call.addHeader(soapHeaderElement);
//调用WebService的方法
org.apache.axis.description.OperationDescoper;
org.apache.axis.description.ParameterDescparam;
oper=neworg.apache.axis.description.OperationDesc();
oper.setName("opName");
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg0"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg1"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg2"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(newjavax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema","string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(newjavax.xml.namespace.QName("","return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(neworg.apache.axis.description.FaultDesc(
newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),
"Exception",
newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),
true
));
call.setOperation(oper);
call.setOperationName(newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","opName"));
//调用WebService,传入参数
Stringres=(String)call.invoke(newObject[]("arg0","arg1"));
System.out.println("===============");
returnres;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
try{
System.out.println(getResult());
}catch(MalformedURLExceptione){
e.printStackTrace();
}catch(RemoteExceptione){
e.printStackTrace();
}catch(ServiceExceptione){
e.printStackTrace();
}catch(SOAPExceptione){
e.printStackTrace();
}
}
}

2、利用Eclipse自动生成WebService client代码就容易多了:
首先,new project,选择other,在输入框中输入Web Service Client,选中搜索后的结果,点击Next,在Service definition中输入 WebService的发布地址,点击Finish
这样,WebService Client代码已经生成好了。
接下来写一个Test类,在main函数中输入如下代码:


Stringendpoint="服务器的WebService的地址";
YourWebServiceNameProxyumsp=newYourWebServiceNameProxy(endpoint);
try{
StringresultStr=umsp.opMethod("arg0","arg1");
System.out.println(resultStr);
}catch(Exceptione){
System.out.println("异常");
e.printStackTrace();
}catch(RemoteExceptione){
System.out.println("RemoteException异常");
e.printStackTrace();
}

㈩ 谁有c或c++写的操作windows服务的的dll接口,给一份,我想在pb里调用

我晕,你直接使用window提供的API不就可以了,你这个问题除了从api(这本身就是微软最权威的接专口),着手,属难道你还要人帮你写好,封装好,然后提供dll与lib以及接口说明给你?这是工作是要钱滴,阿门。。。两个办法,要么自己用api自己写,要么付费给别人还是用api帮你写,阿门。。。

热点内容
影视转载限制分钟 发布:2024-08-19 09:13:14 浏览:319
韩国电影伤口上纹身找心里辅导 发布:2024-08-19 09:07:27 浏览:156
韩国电影集合3小时 发布:2024-08-19 08:36:11 浏览:783
有母乳场景的电影 发布:2024-08-19 08:32:55 浏览:451
我准备再看一场电影英语 发布:2024-08-19 08:14:08 浏览:996
奥迪a8电影叫什么三个女救人 发布:2024-08-19 07:56:14 浏览:513
邱淑芬风月片全部 发布:2024-08-19 07:53:22 浏览:341
善良妈妈的朋友李采潭 发布:2024-08-19 07:33:09 浏览:760
哪里还可以看查理九世 发布:2024-08-19 07:29:07 浏览:143
看电影需要多少帧数 发布:2024-08-19 07:23:14 浏览:121