实现vs2013客户端服务器之间的简单通信,hello world 程序。
2016-10-14 11:20
721 查看
在电脑上安装两个 安装包 Ice-3.5.1-VS2013.msi 和Ice-3.5.1.msi其中第一个文件的作用是 在 vs2013 的项目--》》属性中--》》ICE configration进行配置的界面。
然后把自己写的ICE程序放在这个 资源文件下,然后进行ICE 的配置,配置完成后会自动生成 h和.cpp文件。
然后再自己书写 server.cpp 具体书写内容全部摘录如下:
#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
class PrinterI : public Printer {
public:
virtual void printString(const string & s,
const Ice::Current &);
};
void
PrinterI::
printString(const string & s, const Ice::Current &)
{
cout << s << endl;
}
int
main(int argc, char* argv[])
{
int status = 0;
Ice::CommunicatorPtr ic;
try {
ic = Ice::initialize(argc, argv);
Ice::ObjectAdapterPtr adapter
= ic->createObjectAdapterWithEndpoints(
"SimplePrinterAdapter", "default -p 10000");
Ice::ObjectPtr object = new PrinterI;
adapter->add(object, adapter->getCommunicator()->stringToIdentity("SimplePrinter"));
adapter->activate();
ic->waitForShutdown();
}
catch (const Ice::Exception & e) {
cerr << e << endl;
status = 1;
}
catch (const char * msg) {
cerr << msg << endl;
status = 1;
}
if (ic)
ic->destroy();
return status;
}
再自己书写 client.cpp 具体书写内容全部摘录如下:
#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
int
main(int argc, char * argv[])
{
int status = 0;
Ice::CommunicatorPtr ic;
try {
ic = Ice::initialize(argc, argv);
Ice::ObjectPrx base = ic->stringToProxy(
"SimplePrinter:default -p 10000");
PrinterPrx printer = PrinterPrx::checkedCast(base);
if (!printer)
throw "Invalid proxy";
printer->printString("Hello World!");
} catch (const Ice::Exception & ex) {
cerr << ex << endl;
status = 1;
} catch (const char * msg) {
cerr << msg << endl;
status = 1;
}
if (ic)
ic->destroy();
return status;
}
再分别运行服务器和客户端程序。
先运行服务器程序,再运行客户端程序,会在客户端程序上显示 hello world ,成功解决问题。
有些细节还没有说清,会在后期进行添加。
然后把自己写的ICE程序放在这个 资源文件下,然后进行ICE 的配置,配置完成后会自动生成 h和.cpp文件。
然后再自己书写 server.cpp 具体书写内容全部摘录如下:
#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
class PrinterI : public Printer {
public:
virtual void printString(const string & s,
const Ice::Current &);
};
void
PrinterI::
printString(const string & s, const Ice::Current &)
{
cout << s << endl;
}
int
main(int argc, char* argv[])
{
int status = 0;
Ice::CommunicatorPtr ic;
try {
ic = Ice::initialize(argc, argv);
Ice::ObjectAdapterPtr adapter
= ic->createObjectAdapterWithEndpoints(
"SimplePrinterAdapter", "default -p 10000");
Ice::ObjectPtr object = new PrinterI;
adapter->add(object, adapter->getCommunicator()->stringToIdentity("SimplePrinter"));
adapter->activate();
ic->waitForShutdown();
}
catch (const Ice::Exception & e) {
cerr << e << endl;
status = 1;
}
catch (const char * msg) {
cerr << msg << endl;
status = 1;
}
if (ic)
ic->destroy();
return status;
}
再自己书写 client.cpp 具体书写内容全部摘录如下:
#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
int
main(int argc, char * argv[])
{
int status = 0;
Ice::CommunicatorPtr ic;
try {
ic = Ice::initialize(argc, argv);
Ice::ObjectPrx base = ic->stringToProxy(
"SimplePrinter:default -p 10000");
PrinterPrx printer = PrinterPrx::checkedCast(base);
if (!printer)
throw "Invalid proxy";
printer->printString("Hello World!");
} catch (const Ice::Exception & ex) {
cerr << ex << endl;
status = 1;
} catch (const char * msg) {
cerr << msg << endl;
status = 1;
}
if (ic)
ic->destroy();
return status;
}
再分别运行服务器和客户端程序。
先运行服务器程序,再运行客户端程序,会在客户端程序上显示 hello world ,成功解决问题。
有些细节还没有说清,会在后期进行添加。
相关文章推荐
- ACE+线程池实现一个简单的服务器+多客户端通信程序
- 简单的在TCP协议下实现服务器与客户端之间的通信(Socket函数很重要)
- Android中socket编程实现简单的客户端和服务器之间的通信
- Python一个简单的通信程序(客户端 服务器)
- 用Java实现一个简单的服务器与客户端程序
- 基于scoket通信的简单客户端—服务器通信程序
- 从简单到复杂实现TCP客户端服务器通信
- C++基于TCP/IP简单的客户端、服务器通信程序实例
- android的Socket编程---实现简单的服务器,并与客户端通信
- C# 利用Socket类实现客户端和服务器之间的通信,可在本机之间实现信息交互
- 简单的网络通信程序,客户端发送hello,server 服务器反馈 ok UDP
- 基于TCP协议实现服务器和客户端的通信程序
- 用VB实现程序之间的简单通信
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发送文字数据
- volley+Express实现简单的客户端服务器通信
- C++基于TCP/IP简单的客户端、服务器通信程序实例
- C++基于TCP/IP简单的客户端、服务器通信程序实例
- Java 利用套接字Socket实现简单的服务器与客户端通信
- java实现了简单的Echo服务程序分服务器和客户端
- Linux C实现简单的UDP服务器客户端通信