Pages: [1] 2   Go Down
Author Topic: SocketServerText, an experimental custom channel for TCP based text transfer  (Read 11872 times)
March 04, 2008, 04:45:16 pm
Here is an additional socket channel, this time hosting a single TCP server.
SocketServerText transfers text with any TCP client in both directions. It could be employed to make Q3D generated applications interoperate easily with other programs offering client functionality, including those based on the Q3D SocketString channel.  If the text is encoded in CSV, it would be easy to transfer other data structures (like values) as well, just use TextFilter.

The channel is provided as is. Expect limited housekeeping. Commercial usage is not allowed without my consent.

For testing purposes I recommend a small utility (TCP client/server, Serial, ...)

Demos Server + Client:

* (9.46 KB - downloaded 610 times.)
* (11.46 KB - downloaded 604 times.)
July 17, 2008, 07:32:42 pm
channel update 4.1.2
November 27, 2008, 06:03:31 pm
 Yummie hope 4.2.2 Cheesy
January 17, 2009, 01:29:53 pm
channel update 4.2.x  (Edit 2011 01 11) Runtime set to 10 Minutes max, accepts XMLsocket connections from Flash too. Send me a PM for a full version quote.

* SocketServerText.dll (40.5 KB - downloaded 286 times.)
January 17, 2009, 01:58:48 pm
A simple TCP demo scenario: Two Quest3D applications exchange text strings.

Server uses custom channel SocketServerText and the client a standard SocketString channel. Note: cgr compiles in all Quest3D editions (4.2.3). Start server first.

* TCP_Text_Server.cgr (39.34 KB - downloaded 568 times.)
* TCP_Text_Client.cgr (43.02 KB - downloaded 578 times.)

* cs-testscenario.png (45.3 KB, 429x405 - viewed 2158 times.)
January 18, 2009, 10:37:03 am
UDP socket  Grin
February 01, 2009, 05:26:47 pm
February 27, 2009, 02:46:33 am
It seems UDP can be used in place of TCP, you write the channel set up in order to prevent the commercial limit. Also you can not contact, I can only write their own channel. You wrote my test, and do not question, or thank you.
July 04, 2009, 04:40:26 pm
A user is reporting the following weakness:
If used local with PuTTy as a text client, the first two payload Bytes are lost.
An analysis showed that PutTTY was sending an additional package immediately after the main payload.
SocketServerText is not prepared to cope with this extreme short period.
A typical application will not run into this problem.
September 17, 2009, 02:04:34 pm
hello !!!
Can somebody help me !!!
I'm Trying to create a TCP Server Channel in Quest3D 4.0.0. !!!!!
i've developed the code in vc++ 2005 !!!!
Actually the problem which i'm facing is when i'm launching the channel("my own created  Server channel ")in Quest3D 4.0.0!!The System is getting hanged up!!!

i have seen that the problem was in the"accept()" function which i used in my coding!!!!
when i executed the code blocking the "accept()",launching the channel in quest3D ,Quest3D is not getting hanged up!!!I think since the accept() function blocks the caller till a new connection arrives,
in the meanwhile system is in a "looping state",which is why Quest3D is hanging up!!!!

Can someone help me overcome this problem ,!!!!and make my TCP server work!!!
I also tried using UDP logic,but i'm getting the same problem while using "recvfrom()" and "sendto()"

how to overcome this problem of looping????any ideas  please!!!!!!!
September 18, 2009, 10:38:42 am
hi all!!!

I 've tried to overcome the problem using threads!!!!

but i'm struck up with an error!!!

hi!!thanx for the idea!!!!

But while implementing the code  in vc++ 2005

/********************This is a Sample Code!!!!(Original Code is Bigger!!!)

class ServerChannel

void GetFloat();
void Thread(void* arg);


void ServerChannel::Thread(void* arg)



void ServerChannel::GetFloat()


i'm getting an error!!!
c3867:'ServerChannel::Thread':function call missing argument list;use '&ServerChannel::Thread' to create a

pointer to member

October 26, 2009, 12:31:13 pm
hi Godbersen

Thank you for your dll and all,

but my problem is

I copied your dll into my channels folder but i didnt get this channel in my quest 3d 4.2.2 channels list.

is there any other requirement for this issue. Is there other installations required for this.

please help me.
Thanks in advance.
December 14, 2009, 12:08:55 pm
Move channels.lst, located in the install dir, to a save place for backup/restore.
Run Quest3D.exe. This should generate a new channels.lst file.
April 22, 2010, 08:05:19 am
Hi, Godbersen. Just wondering if would be any problem (from q3d side) to implement a listener socket. I ask this cause I haven't seen any implementation of it (neither into the VR edition).

From q3d wiki:
The current implementation of the socket channels do not support listening to ports and accept connections. You can set up a connection to the server and send/receive data to/from that connection.

Im taking a look to sockets to implement my own channels as well.
April 22, 2010, 10:38:32 am
in my understanding SocketServerText ist just doing what you are looking for.
Pages: [1] 2   Go Down
Jump to: