QT webservice客户端

时间: 2023-07-21 20:39:05 浏览: 69
在QT中,可以使用QtNetwork模块来实现Webservice客户端。具体步骤如下: 1. 在QT中创建一个新的Qt Widgets应用程序项目。 2. 在Qt Creator中打开项目,然后在项目根目录下创建一个新的文件夹,用于存放Webservice客户端的相关文件。 3. 在新建的文件夹中创建一个新的Qt控制台应用程序。 4. 在Qt Creator中打开控制台应用程序项目,然后在.pro文件中添加以下依赖项: ``` QT += network xml ``` 5. 在控制台应用程序的源文件中,添加以下头文件: ``` #include <QtNetwork/QtNetwork> #include <QtXml/QtXml> ``` 6. 创建一个新的类,用于实现Webservice客户端的相关功能。在这个类中,需要定义一个QNetworkAccessManager对象和一个QNetworkReply对象,分别用于发送和接收Webservice请求和响应。 7. 在类的构造函数中,创建一个QNetworkRequest对象,并设置Webservice的URL和相关请求头部信息。 8. 创建一个QDomDocument对象,并使用它来解析Webservice响应的XML数据。 9. 实现Webservice客户端的具体功能,例如调用Webservice方法并传递参数,处理Webservice响应数据等。 10. 在主函数中创建Webservice客户端对象,并调用相关方法来实现功能。 以上是一个大致的步骤,具体实现还需要根据Webservice服务的具体情况进行调整。

相关推荐

以下是一个简单的QT Webservice客户端程序,实现了调用WSDL文件中的方法并传递参数,获取Webservice服务的响应结果。 cpp #include <QtCore/QCoreApplication> #include <QtXml/QDomDocument> #include <QtNetwork/QNetworkAccessManager> #include <QtNetwork/QNetworkRequest> #include <QtNetwork/QNetworkReply> class WebserviceClient : public QObject { Q_OBJECT public: WebserviceClient(QObject *parent = 0) : QObject(parent) { manager = new QNetworkAccessManager(this); } void callWebService() { // Webservice URL QString url = "http://localhost:8080/Webservice/Service"; // SOAP request XML QString xmlRequest = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://service.webservice.com/\"><soapenv:Header/><soapenv:Body><ser:method><arg0>parameter1</arg0><arg1>parameter2</arg1></ser:method></soapenv:Body></soapenv:Envelope>"; // Create request QNetworkRequest request; request.setUrl(QUrl(url)); request.setHeader(QNetworkRequest::ContentTypeHeader, "text/xml;charset=UTF-8"); request.setRawHeader("SOAPAction", "http://service.webservice.com/method"); // Send request QNetworkReply *reply = manager->post(request, xmlRequest.toUtf8()); // Handle response QObject::connect(reply, SIGNAL(finished()), this, SLOT(onWebServiceResponse())); } private slots: void onWebServiceResponse() { QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (reply->error() == QNetworkReply::NoError) { // Parse response XML QDomDocument xmlResponse; xmlResponse.setContent(reply->readAll()); // Extract response data QString responseData = xmlResponse.documentElement().firstChild().firstChild().toElement().text(); // Output response data qDebug() << responseData; } else { // Handle error qDebug() << reply->errorString(); } reply->deleteLater(); } private: QNetworkAccessManager *manager; }; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); WebserviceClient client; client.callWebService(); return a.exec(); } 在程序中,先定义了一个WebserviceClient类,用于封装Webservice客户端的相关功能。在类中,首先定义了一个QNetworkAccessManager对象,用于发送Webservice请求和接收Webservice响应。然后,实现了一个callWebService()方法,用于调用Webservice服务并传递参数。在方法中,首先定义了Webservice的URL和SOAP请求XML,然后创建了一个QNetworkRequest对象,并设置相关请求头部信息。接着,使用QNetworkAccessManager发送Webservice请求,并在onWebServiceResponse()槽函数中处理Webservice响应。在槽函数中,首先判断响应是否正常,如果正常则解析XML数据,提取响应数据并输出;如果出现错误则输出错误信息。最后,程序在main函数中创建了一个WebserviceClient对象,并调用了callWebService()方法来实现Webservice客户端的功能。 需要注意的是,Webservice服务的URL和SOAP请求XML需要根据具体情况进行调整。
### 回答1: 要生成一个WebService客户端,可以按照以下步骤进行: 1. 打开Eclipse或其他IDE,创建一个新的Java项目。 2. 在项目中创建一个新的包,用于存放WebService客户端相关的类。 3. 在该包中创建一个新的Java类,用于实现WebService客户端。 4. 导入WebService的WSDL文件,可以通过在Eclipse中使用“Web Services Explorer”视图或使用命令行工具wsimport来完成。 5. 根据WSDL文件生成客户端代码,可以使用Eclipse中的“Web Services Explorer”视图或使用命令行工具wsimport来完成。 6. 在客户端代码中实例化WebService客户端,并调用WebService提供的方法。 以上是生成WebService客户端的基本步骤,具体实现过程可能会因为不同的IDE或工具而有所不同。 ### 回答2: WebService 是一种基于 Web 的应用程序接口,可以实现不同计算机之间的交互和通信,通过 Web 服务,可以在不同的操作系统和编程语言之间进行交流,使得应用程序的开发变得更加简单便捷。在这样的背景下,idea作为一款著名的开发工具,也加入了WebService的支持,便于开发人员对Web服务进行开发和维护。 在idea中生成WebService客户端,要经过以下几步: 1.找到Web Service的WSDL文档:WSDL文档描述了Web服务提供商支持的所有操作和数据类型。可以通过一个 URL 访问此文档,或者从Web服务提供商那里获得它。 2.在idea中添加Web Service:打开 Idea,单击“File”菜单,然后单击“New Project",在“New Project”对话框中,选择“Java Enterprise”,单击“Web Service Client”并单击“Next”。在“New Web Service Client”对话框中,输入 Web 服务的 URL 地址,然后单击“Finish”按钮。 3.生成客户端代码:Idea 会自动解析 WSDL 文档,并在稍后的步骤中使用它。在添加Web服务后,第一件要做的事情是生成客户端代码。在这一步,IDE 会根据 WSDL 文档生成一个客户端代码库,用于调用 Web 服务提供商的操作。在浏览客户端代码之前,IDE 会解析 WSDL 文档,以确认是否可以正确地访问 Web 服务。 4.测试Web服务:创建好Web服务客户端之后,可以使用测试代码调用 Web 服务。可以通过 Idea 的 Test Page 进行测试,或者创建一个 Java 应用程序或 servlet,并调用 Web 服务。 总之,在idea中生成WebService客户端非常容易,只需要依次执行以上步骤即可。Web服务的普及使得不同计算机之间的交互和通信变得更加简单便捷,而idea作为开发工具,则为我们提供了非常方便的支持。 ### 回答3: Web服务客户端是一种用于访问Web服务的应用程序。创建Web服务客户端可以利用现有的IDE或手动创建。IDE可以自动生成Web服务客户端,但是如果使用手动方式,则需要进行一些步骤。 首先,需要确定要连接的Web服务地址,WSDL文件的位置以及Web服务客户端所需的参数和返回数据。创建Web服务客户端的主要步骤如下: 1.创建Web服务客户端项目:可以使用现有的IDE,如Eclipse或NetBeans,创建一个新项目,选择Web服务客户端项目类型。 2.导入WSDL文件:必须将WSDL文件导入到Web服务客户端项目中,以便可以生成客户端代码。 3.生成客户端代码:可以使用IDE自动生成客户端代码,或手动创建客户端代码。使用IDE自动生成客户端代码可以大大简化工作量。 4.构建Web服务客户端:通过使用生成的客户端代码,可以构建Web服务客户端。可以使用这个客户端来向Web服务发送请求并接收响应。 在使用Web服务客户端之前,需要了解Web服务的概念和基本原理。Web服务是一种可以利用网络进行互联的软件应用程序,其可通过标准协议(例如SOAP和REST)在互联网上进行通信。Web服务客户端是一种用于访问Web服务的应用程序,它可以通过发送请求并接收响应来访问Web服务。 总之,创建Web服务客户端需要一些准备工作,如确定Web服务地址、WSDL文件位置和所需参数。IDE可以自动生成客户端代码,或者手动创建客户端代码。使用生成的客户端代码可以构建Web服务客户端,并可以通过客户端访问Web服务。
以下是一个简单的 Java WebService 客户端示例代码。示例中通过调用 WebService 提供的方法来实现获取天气信息的功能。 1. 首先,需要导入相关的 jar 包,例如 jaxws-api.jar 和 javax.xml.soap.jar。 2. 创建一个包含 WebService 方法调用的类,例如 WeatherClient: java import java.net.URL; import javax.xml.namespace.QName; import javax.xml.soap.*; import javax.xml.ws.*; import org.w3c.dom.NodeList; public class WeatherClient { public static void main(String[] args) { try { // 创建 WebService 客户端对象 URL wsdlURL = new URL("http://www.example.com/WeatherService?wsdl"); QName serviceName = new QName("http://www.example.com/", "WeatherService"); Service service = Service.create(wsdlURL, serviceName); // 获取 WebService 接口 QName portName = new QName("http://www.example.com/", "WeatherPort"); WeatherInterface weatherInterface = service.getPort(portName, WeatherInterface.class); // 调用 WebService 方法 String city = "Beijing"; String weather = weatherInterface.getWeather(city); System.out.println("The weather in " + city + " is " + weather); } catch (Exception e) { e.printStackTrace(); } } } 3. 创建一个接口,用于定义 WebService 提供的方法,例如 WeatherInterface: java import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface WeatherInterface { @WebMethod public String getWeather(String city); } 4. 最后,在 WebService 客户端代码中调用接口中的方法即可获得天气信息。 以上就是一个简单的 Java WebService 客户端示例。通过调用 WebService 提供的方法,可以获取到相关的天气信息。注意在实际开发中,需要根据具体的 WebService 接口进行适当的调整和处理。
在VC开发WebService客户端时,可以使用Microsoft Visual Studio提供的工具和库来实现。首先,需要使用Visual Studio创建一个新的项目,选择"Visual C++"作为项目类型。然后,在项目中添加对WebService的引用,可以通过右键点击项目,选择"添加引用",然后在"浏览"选项卡中输入WebService的URL地址来添加引用。 在VC中,可以使用SOAP框架来处理WebService的通信。SOAP是一种基于XML的协议,用于在网络上进行应用程序之间的通信。可以使用SOAP框架提供的类和方法来创建SOAP请求和解析SOAP响应。 在VC中,可以使用MFC或者CLR来开发WebService客户端。如果选择使用MFC,可以使用CInternetSession和CHttpConnection等类来发送SOAP请求和接收SOAP响应。如果选择使用CLR,可以使用System.Net命名空间中的类来实现WebService的调用。 在开发WebService客户端时,需要根据WebService的WSDL文件生成客户端代码。可以使用Visual Studio提供的工具或者使用命令行工具wsdl.exe来生成客户端代码。生成的客户端代码包含了WebService的代理类和方法,可以通过调用这些方法来访问WebService服务。 总结起来,VC开发WebService客户端的步骤包括创建项目、添加WebService引用、使用SOAP框架处理通信、选择MFC或CLR开发、根据WSDL文件生成客户端代码、调用WebService方法。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [WebService开发](https://blog.csdn.net/BestEternity/article/details/89668375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
通过IDEA生成webservice客户端的方法如下: 1. 首先准备IDEA,可以单独创建一个项目或者在现有项目中创建一个包来放置生成的webservice客户端代码。 2. 在IDEA中选中这个包,右击,在菜单中选择【webservice】,然后选择【Generate Java code from WSDL】,即可通过WSDL生成Java代码。 3. 准备WSDL,可以通过地址或者本地WSDL文件来生成客户端代码。注意,如果有代理设置,需要在IDEA中进行相应的设置。 4. 生成方式大同小异,可以选择使用CXF或其他方式生成代码。如果使用CXF,需要添加相应的依赖。例如: xml <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-bundle</artifactId> </dependency> 以上是通过IDEA生成webservice客户端的简要步骤。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [在IDEA中生成webservice客户端](https://blog.csdn.net/chen15369337607/article/details/100555104)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [idea建立webservice服务端和客户端程序](https://blog.csdn.net/wfpc__/article/details/84642166)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
您可以使用Spring Boot自带的WebServiceTemplate来作为客户端来调用Web服务。具体步骤如下: 1. 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> 2. 创建一个类来配置WebServiceTemplate: @Configuration public class WebServiceConfig { @Bean public WebServiceTemplate webServiceTemplate() { Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); marshaller.setContextPath("com.example.webservice"); WebServiceTemplate template = new WebServiceTemplate(); template.setMarshaller(marshaller); template.setUnmarshaller(marshaller); template.setDefaultUri("http://localhost:8080/ws"); return template; } } 上面的代码中,我们创建了一个WebServiceTemplate实例,并设置了默认的URI,并且使用Jaxb2Marshaller来处理请求和响应消息。 3. 创建一个Service类来调用Web服务: @Service public class MyService { @Autowired private WebServiceTemplate webServiceTemplate; public Object callWebService(Object request){ return webServiceTemplate.marshalSendAndReceive(request); } } 上面的代码中,我们使用了自动装配来注入之前配置好的WebServiceTemplate实例,并且定义了一个callWebService方法来调用Web服务。 4. 调用Web服务: public void testWebService(){ MyRequest request = new MyRequest(); request.setName("张三"); MyResponse response = (MyResponse)service.callWebService(request); System.out.println(response.getMessage()); } 上面的代码中,我们创建了一个MyRequest实例,并调用之前定义的callWebService方法来发送请求,并获得响应消息。
创建 Web Service 客户端连接通常分为以下几个步骤: 1. 寻找 Web Service 服务提供的 WSDL 地址。 2. 使用 WSDL 工具生成客户端代码。 3. 创建客户端代理对象。 4. 调用 Web Service 方法。 下面是详细的步骤: 1. 寻找 Web Service 服务提供的 WSDL 地址。通常可以在服务提供商的网站上找到该信息,或者通过询问服务提供商的技术支持人员获得。WSDL 是 Web Services Description Language 的缩写,它定义了 Web Service 的接口、参数和返回值等信息。 2. 使用 WSDL 工具生成客户端代码。WSDL 工具可以根据 WSDL 文件自动生成客户端代码,其中包括客户端代理类和数据类型。在 Visual Studio 中,可以使用“添加服务引用”菜单项来执行此操作。 3. 创建客户端代理对象。客户端代理对象是客户端程序访问 Web Service 的主要接口。在 C# 中,可以使用以下代码创建客户端代理对象: ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); 上述代码中,“ServiceReference1”是 Visual Studio 自动生成的客户端代理类的命名空间,“Service1Client”是客户端代理类的名称。 4. 调用 Web Service 方法。在客户端代理对象上调用 Web Service 方法即可。例如: string result = client.GetData(123); 上述代码中,“GetData”是 Web Service 方法的名称,“result”是返回值,“123”是方法的参数。 以上就是创建 Web Service 客户端连接的一般步骤。具体实现还需要根据具体的 Web Service 接口和开发环境进行调整。
Web Service客户端调用方式主要有两种:基于代理类的调用和基于动态代理的调用。 1. 基于代理类的调用 在基于代理类的调用中,首先需要使用wsdl.exe命令或者Visual Studio自动生成代理类。然后,通过实例化代理类对象,调用其中的方法来实现与Web Service的交互。 具体实现步骤如下: (1)生成代理类 使用wsdl.exe命令或者Visual Studio自动生成代理类。wsdl.exe是Windows操作系统自带的工具,可以通过命令行调用生成代理类。具体命令如下: wsdl /l:CS /n:MyCompany.MyProduct.MyService http://localhost/MyService/Service.asmx?wsdl 其中,/l:CS表示生成C#代码,/n:MyCompany.MyProduct.MyService表示生成的命名空间,http://localhost/MyService/Service.asmx?wsdl表示Web Service的地址。 (2)实例化代理类对象 在客户端代码中,实例化代理类对象。代码示例如下: MyServiceProxy proxy = new MyServiceProxy(); (3)调用代理类中的方法 使用代理类对象调用其中的方法。代码示例如下: string result = proxy.MyMethod(param1, param2); 2. 基于动态代理的调用 基于动态代理的调用是通过反射机制动态生成代理类,然后再通过代理类实现与Web Service的交互。相比于基于代理类的调用,基于动态代理的调用更加灵活,可以动态地修改代理类的行为。 具体实现步骤如下: (1)使用ChannelFactory创建代理类 使用ChannelFactory创建代理类对象。代码示例如下: ChannelFactory<IMyService> factory = new ChannelFactory<IMyService>(new BasicHttpBinding(), new EndpointAddress("http://localhost/MyService/Service.asmx")); IMyService proxy = factory.CreateChannel(); 其中,IMyService是Web Service的接口,BasicHttpBinding是通信协议,EndpointAddress是Web Service的地址。 (2)调用代理类中的方法 使用代理类对象调用其中的方法。代码示例如下: string result = proxy.MyMethod(param1, param2);
Qt 提供了一个名为 Qt Web Services 的模块,可以用于开发基于 Web 的服务。它基于 Qt Network 模块,提供了一套易于使用的 API,用于创建和处理 HTTP 请求和响应。使用 Qt Web Services,您可以轻松地将 Web 服务添加到您的 Qt 应用程序中,同时保持代码的简洁和易于维护。 Qt Web Services 中包含以下类: - QWebServer:用于创建 HTTP 服务器,可以处理来自客户端的请求。 - QWebRouter:用于将请求路由到正确的处理程序。 - QWebServiceProxy:用于与远程 Web 服务进行通信,支持 SOAP 和 REST 协议。 下面是一个简单的示例,演示如何使用 Qt Web Services 创建一个简单的 HTTP 服务器并处理 GET 请求: cpp #include <QtCore> #include <QtWebSockets> #include <QtWebServices> class MyHandler : public QWebHandler { public: QWebResponse handleRequest(const QWebContext &context) override { Q_UNUSED(context); QWebTextResponse response; response.setHeader("Content-Type", "text/plain"); response.setBody("Hello, world!"); return response; } }; int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QWebServer server; server.addHandler(new MyHandler); server.listen(QHostAddress::Any, 8080); return app.exec(); } 在这个例子中,我们定义了一个名为 MyHandler 的处理程序,用于处理 HTTP 请求。当收到 GET 请求时,该处理程序将返回一个文本响应,其中包含“Hello, world!”的消息。然后,我们创建了一个 QWebServer 实例,并将处理程序添加到服务器中。最后,我们开始监听来自任何地址的 8080 端口上的连接请求。 这只是 Qt Web Services 的一个简单示例,您可以使用 Qt Web Services 创建更复杂和功能强大的 Web 服务。

最新推荐

cxf开发webservice客户端和服务器端文档

cxf开发webservice客户端和服务器端,详细的cxf使用指令,有用的示例代码及注释。

Python在线考试系统前端-大学毕业设计-基于vue.zip

Python在线考试系统前端-大学毕业设计-基于vue

Python各种图像注意力模块的实现.zip

注意力机制

300161华中数控财务报告资产负债利润现金流量表企业治理结构股票交易研发创新等1391个指标(2007-2022).xlsx

包含1391个指标,其说明文档参考: https://blog.csdn.net/yushibing717/article/details/136115027 数据来源:基于上市公司公告数据整理 数据期间:从具体上市公司上市那一年开始-2022年度的数据,年度数据 包含各上市公司股票的、多年度的上市公司财务报表资产负债表、上市公司财务报表利润表、上市公司财务报表现金流量表间接法、直接法四表合在一个面板里面,方便比较和分析利用 含各个上市公司股票的、多年度的 偿债能力 披露财务指标 比率结构 经营能力 盈利能力 现金流量分析 风险水平 发展能力 每股指标 相对价值指标 股利分配 11类财务指标分析数据合在一个面板里面,方便比较和分析利用 含上市公司公告的公司治理、股权结构、审计、诉讼等数据 包含1391个指标,如: 股票简称 证券ID 注册具体地址 公司办公地址 办公地址邮政编码 董事会秘书 董秘联系电话 董秘传真 董秘电子邮箱 ..... 货币资金 其中:客户资金存款 结算备付金 其中:客户备付金 .........

DAC简介及参考电路PPT学习教案.pptx

DAC简介及参考电路PPT学习教案.pptx

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

OceanBase数据库简介及原理解析

# 1. OceanBase数据库概述 ## 1.1 OceanBase数据库的发展历程 OceanBase数据库是由阿里巴巴集团自主研发的一款分布式关系型数据库系统,起源于阿里集团的业务需求和技术挑战。自2010年开始研发,经过多年的迭代和优化,OceanBase已经成为阿里巴巴集团重要的核心数据库产品之一。在实际的业务场景中,OceanBase已经被广泛应用于金融、电商、物流等各个领域。 ## 1.2 OceanBase数据库的特点和优势 OceanBase数据库具有以下特点和优势: - **分布式架构**:OceanBase采用多副本分布式架构,可以实现高可用和数据容灾。 -

python的pandas读取excel怎么将excel表里的列从1开始而不是0

在 Pandas 中,数据框的列默认从0开始编号,但我们可以通过自定义函数来进行数据列的转换。可以先将读取的数据框列的第一个值设为1,然后对后续列进行递增处理。 以下是示例代码: ```python import pandas as pd # 读取 Excel 文件 df = pd.read_excel('your_excel_file.xlsx') # 定义函数将列从1开始 def reset_column(x): return str(int(x) + 1) # 应用函数到所有列名 df = df.rename(columns=reset_column) # 打印数据框

第三章薪酬水平、薪酬系统的运行与控制.pptx

第三章薪酬水平、薪酬系统的运行与控制.pptx

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依