Page 1 of 1

How to connect to the demo server.exe

Posted: Sat Oct 25, 2014 8:36 am
by hyj_rv
RVCamSender1->ReceiverHost = "127.0.0.1" ;
RVCamSender1->ReceiverPort = 7777 ;
RVCamReceiver1->Senders->Items[0]->SenderHost = "127.0.0.1" ;
RVCamReceiver1->Senders->Items[0]->SenderPort = 7777 ;
RVCamSender1->Active = true ;
RVCamReceiver1->Active = true ;


The service side without any message.

Posted: Sun Oct 26, 2014 5:17 pm
by Sergey Tkachenko

Code: Select all

RVCamSender1->ReceiverHost = "127.0.0.1" ; 
RVCamSender1->ReceiverPort = 7777 ; 
RVCamReceiver1->Senders->Clear();
RVCamReceiver1->Senders->Add();
RVCamReceiver1->Senders->Items[0]->SenderHost = "127.0.0.1" ; 
RVCamReceiver1->Senders->Items[0]->SenderPort = 7777 ; 
// in the server demo, 7777 is TCP port
RVCamReceiver1->Protocol = rvpTCP;
RVCamReceiver1->Protocol = rvpTCP;
// Senders and receivers in a client must have equal GUID
RVCamReceiver1->GUIDMy = RVCamSender1->GUIDFrom;
// This type of connection is required to connect to a server
RVCamReceiver1->TCPConnectionType = rvtcpReceiverToSender;
RVCamSender1->Active = true ; 
RVCamReceiver1->Active = true ;

Posted: Mon Oct 27, 2014 2:52 pm
by hyj_rv
RVCamSender1->GUIDTo = RVCamReceiver1->GUIDMy ;

This can only be sent to a RVCamReceiver , How to put the pictures sent to multiple users ?

Posted: Tue Oct 28, 2014 2:03 pm
by Sergey Tkachenko
I explained how to configure a single client. A client must contain both TRVCamSender and TRVCamReceiver, to send and to receive data from the server.
Both TRVCamSender and TRVCamReceiver in a single client must have the same GUID, as it shown in the code.

Ok, we connected to the server, how to send and receive data from other clients?

A client must choose other clients from which it want to receive video. When client "GUID_A" wants to receive video from the client "GUID_B", it must call RVCamSender1.SendMediaAccessRequest(GUID_B). The client "GUID_B" receives this request in its RVCamReceiver1.OnVideoAccessRequest, and if it allows to send video to "GUID_A", it must call RVCamSender1.AllowMediaAccess(GUID_A). If the client "GUID_A" no longer want to receive video from the client "GUID_B", it calls RVCamSender1.SendMediaAccessCancelRequest(GUID_B). Similarly, it initiates OnVideoAccessCancelRequest and CancelMediaAccess.
This mechanism is used in all our VideoChat demos: Chat, Messenger, Conference.

The next question - how the client knows GUID of other clients, to choose video from?
The VideoChat demos use different methods.

Method 1. Groups (chat rooms).
This method is used in the Chat demo.
All clients joins the same group. In the chat demo, GUID of this group is {11111111-1111-1111-1111-111111111111}.
The methods for managing groups are here:
http://www.trichview.com/help-media/trv ... ethods.htm

Method 2. Predefined lists of GUIDs of clients.
This method is used in the Messenger and the Conference demos.
GUIDs of all clients are known, but you still need to know who is online.
These demos use the mechanism of "allowed senders": http://www.trichview.com/help-media/trv ... ethods.htm
A client is informed about connecting/disconnecting of allowed senders.