I have a problem that I haven't been able to solve, and I thought--again, since I've posted a brief version of a part of this issue before--that perhaps someone on the list might be able to help. And sorry I had to make it so long-winded.... Problem: I have a dual server configuration where a dedicated "slave" server (500 Mhz G4 Mac) is giving database services by being directly connected to a database-application/internet server (NT dual 700 Mhz Dell) listening for WAN/http calls for data. MC is a custom browser asking for db record data. While in a true WAN environment, approximately 5-10% of my MC-generated "post" calls never generate a return from the http server, even though the database records being called for are clearly found and delivered to the NT (as apparent in the db application's "found records" status when looking at the NT server directly). Netscape/IE _never_ fail to generate returns when we query the db through the web, which throws some suspicion on MC. Details are: I am using post commands similar to one provided below to communicate through lasso (CGI application from BlueWorld) with FileMaker Pro application/database located on the web/db servers. FileMaker Pro database is used as a back end for my MetaCard stacks on the client machines. I moved this configuration to a relatively quite LAN with very good bandwidth for benchwork evaluations and the failures still persist, only at about a .5-1% rate instead of the 5-10% rate. I am still evaluating setups and all that jazz on the NT to see if the NT is the problem, but still have to wonder whether MC is in any way at fault or can be used to generate a "work-around" solution. For example, if MC just didn't "hang" when the response doesn't come back in, I could check for returned results, if finding empty-- re-send the query and go on. OK. I did a little experimenting and it appears that instead of using the "post" command I may use a "put" command as well. This means that instead of post "-database=Students.fp3&-layout=FirstStep&-response=Field:'gbRespOne'&-recordI D=48&-search" to url "http://##. ##. ##. #/FMP_MC/Action.lasso" (of course a real IP nbr goes where ##'s are) I can simply use put url "http://##. ##. ##. #/FMP_MC/action.lasso?-database=Students.fp3&-layout=Firs tStep&-response=Field:'gbRespOne'&-recordID=48&-search" into fld "report" with the same result. Now, I haven't had the luxury yet of testing whether this improves on the percentage of unreturned calls, but the following issue comes up regardless: If I recall various sources of information correctly, Scott has suggested that MC is likely to lose the "post" command from the next version of MC in favor of socket-level coding. Scott -- is this correct? If so, is the "put url" also likely to go? Is there a difference in how they work underneath? But more importantly..... because I only partly understand the mechanics of using "sockets-level" programming for http, as opposed to post/put commands, I would like to offer the following question to the list in hopes that you all can give me some more clues about "sockets." Q1) If it is the case that "post" is untrustworthy or about to become extinct, then what will be the "socket" equivalent of the following post command? post "-Database=Students.fp3&-layout=LayoutNameHere&-Response=ResponseFileNameHere& Social_Security=333444333&-search" to url "http://##. ##. ##. #/Action.lasso" This Post command will search for #333444333 in Social Security field in Students database and, through a response file, return the student's first name, last name etc. >From a browser's perspective the HTML equivalent of post command above (in the form of the web link) will be: <A HREF="action.lasso?-database=Students.fp3&-layout=Details&-response=Studen tInfo.lasso&Social_Security=333444333&-search">Click this link to retrieve students Information</A> So, the number 1 Qustion really is what will be the "socket" equivalent of the following post command? post "-Database=Students.fp3&-layout=LayoutNameHere&-Response=ResponseFileNameHere& Social_Security=333444333&-search" to url "http://##. ##. ##. #/Action.lasso" Q2 through 5) Why are socket-level solutions, when finally written, likely to be more reliable? Are they truly more flexible? Why is the required "programmer's" knowledge load being moved from "built-in" to "build-your-own" with these improvements? Will this level offer, for example, one to trap a failed return so a call can be reissued? This is a complex mix of MC rules and http rules that I'm trying to get a handle on and somehow haven't yet fully grasped. And I am willing to try to learn it if it really will solve my problem. Where can I start? I suspect we have a few really savvy internet MC developers out there who can help, if not by explanations at least by offering working examples, and any help would be greatly appreciated, either on or off list. Thanks, Roger -- Dr. Roger D. Ray Department of Psychology Rollins College Winter Park, FL 32789 Offc (407) 646-2278 Fax (407) 646-2685 Cell (407) 234-0045 adaptive instruction at www.psych-ai.com cyberrat at www.psych-ai.com/cyberrat |
Title: post vs put vs ?sockets? for http