I'm writing an RFB server. I was wondering if anybody knows of an RFB reference client.
Currently, I run RealVNC and ask it to connect to my RFB server, and it works fine. However, RealVNC is intended to give a good end-user experience. It is not intended to test every possible valid combination of protocol features. So I know that the features which RealVNC uses are implemented correctly, but I have no idea whether the features that RealVNC doesn't use are working at all. But it would be really useful if I could check somehow.
Any suggestions?
(I could, of course, write my own RFB client as well. But that wouldn't really prove anything. If something doesn't work, I can't tell if it's the client or the server that's broken. And if everything does work, that still doesn't mean that both ends implement RFB correctly, just that each has the same bugs as the other.)
This may help you out a bit. I use to use TCP/IP builder to make various hexcode messages(pointer event, key event, cut text) store them in a text file. Now i Used to connect the tcp/ip builder with my rfb/vnc server.
The RFB server you wrote will now respond to this TCP/IP builder like any RFB Client and you can now verify each and every scenario ( incomplete payload, wrong message number, extra payload, message out of sequence etc)
Make sure you select "Parse Ascii" option if your server doesnt
respond with rfb version number info once you connect to your
server.
In order to make the the intial message you can record wireshark logs for a successful proper rfb session between your rfb server and real vnc and then use those messages to test your RFB server with TCP/IP builder.
The RFB version info can be send like this "RFB 003.008" , but
for the rest of the message you will have to use hex symbol like
it is seen network logs (pcap/wireshark)
example : this is how to send Framebuffer request message to your
server (non-incremental for 800 x 480)
0x030x000x000x000x000x000x030x200x010xe0
Related
My client use webmin server for using the CRM which is developed by me, in mailbox module, if user choose a email which they want to open in a mail box every thing is perfectly sometimes, if emails are listed after viewing one email some time view of email return empty content, like this randomly giving request is successfully return a IMAP value, some requests return a empty value,
but in my local machine i have Develop my application mailbox module in windows OS based machine, using xamp server, here i get a exact result for each and every request,
now i find why it's happen, the reason is in my clients webmin server couldn't open a imap stream properly, in imap_open method all arguments are real, but it return random connection failed message from imap_errors method,
i don't understand why it is happening, and also i can't fix this
So please assist me, helping hearts really appreciateable,
I'm working on the front end development of a custom mail system and at this point I've been using simple HTML to display data based upon my own received e-mails, however now I would like to create a table in my database of the information which is received upon connecting from on POP3/iPOP server.
Using Outlook.com you can rigth-click a mail and view source however I am oblivious to as whether this is the information gathered upon connecting.
I'm hoping this is the sort of question I can ask on here, basically I'd like to have an answer showing one example of all information received from the iPOP/POP3 server with information and/or useful resources.
To Clarify
I'm working on the front-end development and would like realistic information that would be gathered to create a dummy database table, thus meaning I can echo the information and create functions and whatnot prior actually establishing a connection to POP3 or iMAP
POP is a classic internet protocol in that it contains lots of plain text. You can use POP effectively using just telnet server.doma.in 110 to see how a server responsds to a particular command, and Wireshark will dump the commands user by Outlook and the server's responses, both in a format that'll suit your tests well.
I have to consume a webservice with delphi-XE3 to retrieve information from a distant webserver on base of a unique number that I must send with my xml request.
I have the linkadress of the WSDL file that I can import into my project, but I have not a URL for sending my request to.
Instead according to the administrator of the remote webservice I have to address the SOAP interface on localhost and in the WSDL file the defurl is defined as:
<<<http://localhost:8080/.....>>>>>>
So my question is: how to do that ?
All the examples that I found of consuming a website with Delphi are with an external URL to send the request to, but I found none that retrieves distant information by means of listening to localhost.
Do I have to install an additional program or where do I find a tutorial to manage this.
Thank you for any help
You know, it is not really a Delphi question, aren't you?
This question is more of the protocol, IDE or test environment kind.
Anyway:
If you want to test your application on your local host, you have to have an instance of the server software to provide the service you wish to use. If you don't have it and still want to test locally (and you are totally aware of the answers the server should send), you can fake it by setting up an RPC or (at least) a HTTP server on your computer, but I would not recommend it, since it will only test your application against your expectations instead of a real life scenario.
Situation: Two web servers, and a browser client. The client has an open websockets connection with Server A. Server A decides that this client should really be serviced by Server B.
I would like to know if there is any established technique for performing this hand-over?
It would be great if this could happen as invisibly as possible for my client side code - but I haven't come across any feature which would allow this.
Best I have come up with so far is Server A sending a 'you should really deal with Server X' message, client closing the WS session and then sending some http request which will get routed to the correct server, and upgraded to WS. I can see the presense of load balancers making this complicatied though.
Any thoughts?
From a programming point of view, the socket connection is treated as an open file handle, and that's what you are trying to pass along. For that, I would check out the question "Portable way to pass file descriptor between different processes" for a handful of methods.
But if you are not writing your own web server, and are looking for an off-the-shelf method for Apache, etc, this probably won't help you much.
ive a sever running TIdTCPServer, and Client Using Web Browser (or any other software) to Communicate, i dunno the protocol, but what im trying to do is to Send The Data between the client and another Connection (Both Connected to the same TIdTCPServer) for example the data sent by the first client is transmitted to the second client, and the data sent by the second client is transmitted to the first client, like a proxy (i cant really use a proxy server since its just this one condition) and the TIdTCPServer should still be receiving other clients and processing their data.
i stumbled upon the first line of code, since TIdContext.Connection.Socket.ReadLn requires a Delimiter, and the Client's Protocol is unknown to the server.
any ideas?
thanks.
You can look at the source code for TIdMappedPortTCP and TIdHTTPProxyServer to see how they pass arbitrary data between connections in both directions. Both components use TIdSocketList.SelectReadList() to detect when either connection has data to read. TIdMappedPortTCP then uses TIdBuffer.ExtractToBytes() and TIdIOHandler.Write(TIdBytes), whereas TIdHTTPProxyServer uses TIdTCPStream and TIdBuffer.ExtractToStream() instead.