Client server communication

I have to develop a CAD related software that has the application(opengl) on the server and the layouts being displayed on 2 or 3 other machines(clients). can u please tell me how do i do it or any links that can help me?
I am using Qt for GUI and KDE as IDE.

Originally posted by Vijayalakshmi:
I have to develop a CAD related software that has the application(opengl) on the server and the layouts being displayed on 2 or 3 other machines(clients). can u please tell me how do i do it or any links that can help me?
I am using Qt for GUI and KDE as IDE.

hello,
looks like the question is not clear or very primitive.Since i am fairly new to linux and opengl, i am kind of not clear.Let me put it this way.
can i use qt sockets for this communication? If i create the display lists on the server, can i call these lists from the server and render it. is it an efficient way of doing? or do u suggest using GLX. Anyone who can give me suggestions, i will be very thankful.
Thank you,
Vijayalakshmi

i’d like to do so. But i don’t understand well all what you say.

How is your hardware architecture ? which have to display or not ?? what do you call layouts ??
i don’t see difference btw your server and your client…

sorry,

fratt

Not sure if I understood what you mean. In Unix (I think every System running a X-Server) it is possible to run an application on an other computer than displaying it. So you can run nearly everything on the server and display the layouts (?) on different computers (through network). Not sure if this is what you mean. AFAIK it is only possible to use OpenGL hardware acceleration if you display the application on the same computer you ran it. Else I think you will only get Software rendering. I think there is a HowTo out there on this topic.
Hope this helped

Olorin

[This message has been edited by olorin (edited 06-05-2003).]

Thanks for the reply.
By layouts i mean the CAD design display which involves millions of polygons. The display lists for this data is on the server.I want to call some of these display lists(residing on the server) from any client machine .For this communication can i use qt sockets? will it be efficient or not? I hope this is clear.

Originally posted by olorin:
[b]Not sure if I understood what you mean. In Unix (I think every System running a X-Server) it is possible to run an application on an other computer than displaying it. So you can run nearly everything on the server and display the layouts (?) on different computers (through network). Not sure if this is what you mean. AFAIK it is only possible to use OpenGL hardware acceleration if you display the application on the same computer you ran it. Else I think you will only get Software rendering. I think there is a HowTo out there on this topic.
Hope this helped

Olorin

[This message has been edited by olorin (edited 06-05-2003).][/b]

You can get h/w accelerated rendering on the other end of a remote GLX connection. I’ve seen it myself, it just happened automatically.

well, (correct me if I’m wrong)

if you want to do threw a network, the efficiency will depend on 2 main factors:

  1. the speed of your network (10Mb,100Mb?),
  2. the amount of data you send in a certain frequency.

I think the best is to store all the data in all clients first. Then, only send data positionning to your clients: there will surely be a very less amount of data to send by this way.

Now, that you are using qt sockets, SDL ones, or your own won’t change anything at all. Just synchronize the whole (in each client) may be suffiscient.

I hope this helps.

jide

ok, supposing i use GLX connection, can i use QT for my GUI? Is it compatible?

Originally posted by OneSadCookie:
You can get h/w accelerated rendering on the other end of a remote GLX connection. I’ve seen it myself, it just happened automatically.

well… yes.

Vijayalakshmi :

I think things are getting quite confused. Can I ask you a couple of questions.

  1. When you mention display list, are you refering to OpenGL display lists ?

  2. When you say that the application is on the server , I assume you mean that the executable will be running on machinA, with DISPLAY set to machineB:0. Am I correct.

  3. You mention 2 or 3 other machines, by this I assume you mean that n Users may logon to MachineA from their own machines, redirect the display to their Display, and run the application. Am I correct?

  4. If 3. is the case , and the clients machines are reasonable from a hardware standpoint, and the OS environment is not hetrogeneous. You will probable get better performance on the average by running the executable on the client machine, assuming you have a binary capable of running on the client machine, this will also give you significantly better graphics performance in most cases.

I do think however that judging by your question on Qt, OpenGL and GLX you may well be biting off more than you can chew for a first time project. You should perhaps try a few little experiments before diving headlong into things.

Hope this helps.

yeah, u are right, whatever u have assumed is what i meant and yes, i know this is a little too much to start off with and that’s why i asked for guidance on how to go abt it. Well, thanks for the reply.

can u please elaborate on that? i am having troubles doing it or any links which give me an info abt that or any sample code?I have a h/w accelerated system on one end and just the software rendering on the other end.

Originally posted by OneSadCookie:
You can get h/w accelerated rendering on the other end of a remote GLX connection. I’ve seen it myself, it just happened automatically.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.