32 Q_UNUSED(LanServiceName);
33 Q_UNUSED(LanServicePort);
34 Q_UNUSED(LanServiceProtocolType);
42 servicePublishMessage->
set_name (LanServiceName.toStdString ());
43 servicePublishMessage->
set_port (LanServicePort);
46 string packageString=existMessage.SerializeAsString ();
54 void ServicePublisher::listen()
69 void ServicePublisher::connectSignals()
71 connect (&networkThread,&EqNetworkThread::readedSocketData,
this,&ServicePublisher::processDatagram);
79 void ServicePublisher::processDatagram(
char * datagram,
int datagramLength, QHostAddress senderAddress)
85 string datagramtoStdString(datagram,datagramLength);
87 existMessage.ParseFromString (datagramtoStdString);
91 case ExistMessage::SERVICEPUBLISH:
92 reportServiceDiscovered(existMessage,senderAddress.toString().toStdString());
107 void ServicePublisher::reportServiceDiscovered(
ExistMessage existMessage,
string address)
111 QString serviceName=QString::fromStdString (servicePublishMessage.
name ());
112 quint16 servicePort=servicePublishMessage.
port ();
121 void ServicePublisher::startNetworkThread()
123 networkThread.start();
ExistCpp的主要接口,用于向局域网发布服务。
::com::stupidbeauty::exist::ServicePublishMessage_ServiceProtocolType protocoltype() const
const ::std::string & name() const
void set_protocoltype(::com::stupidbeauty::exist::ServicePublishMessage_ServiceProtocolType value)
ServicePublishMessage_ServiceProtocolType
::com::stupidbeauty::exist::ExistMessage_MessageType messagetype() const
void set_port(::google::protobuf::int32 value)
void serviceDiscovered(QString serviceName, quint16 servicePort, ServicePublishMessage::ServiceProtocolType serviceProtocolType, string address)
serviceDiscovered 信号,发现了服务。
::google::protobuf::int32 port() const
::com::stupidbeauty::exist::ServicePublishMessage * mutable_servicepublishmessage()
const ::com::stupidbeauty::exist::ServicePublishMessage & servicepublishmessage() const
ServicePublisher()
默认构造函数。
void shoudCastData(string datagram)
shoudCastData 信号,应当发送数据。
void set_name(const ::std::string &value)
void set_messagetype(::com::stupidbeauty::exist::ExistMessage_MessageType value)
void publishService(QString LanServiceName, quint16 LanServicePort, exist::ServicePublishMessage::ServiceProtocolType LanServiceProtocolType)
发布服务。