See Spring 2000 Project Milestones
The turnin instructions say to turn in the source code electronically
by midnight, but it also says to turn in the source code as a hardcopy
to Guzdial's office by 4:30 p.m. Obviously, changes will probably
be made to the source code between 4:30 p.m. and midnight, so what is
the point of turning in the hardcopy at 4:30 p.m? Do we just turnin
the rest of the stuff as a hard copy (UML, CRC, html example, etc), or
do we need to turn in the final hardcopy of the source at 4:30 p.m.?
If you're using the EmbeddedServerAction class to serve files can you
embed a Morphic interface into HTML. If so, how? If not, what can you use, besides forms, to make an interface? Charles West
Just forms, that's it. The embedded Smalltalk must return strings which are useful in an HTML form. Mark Guzdial
I modify ServerAction class so that
a.) defaultFile returns 'index.html'
b.) serverDirectory returns 'E:\ipub\webroot\'
E:\ipub\webroot\ contains my normal web site, and I would expect PWS to serve these pages when I execute:
Alas! When I http to http://localhost:8080/index.html, the browser stalls and an error message is written to weblog ("a Socket[connected]: Error: getData timeout"). I'm using WindowsNT.
Anyone else encounter this? The request never makes it to ServerAction's #process: method. Is it necessary, by some bizarre chance, that "PWS initialize" or "Socket initializeNetwork" need to be executed prior to serving? Stephen Bennett
NT should be able to find this fine. PWS initialize should already be done, but it's safe to repeat it. Try typing in your IP instead of localhost – it may be that that's not being processed correctly. What's your browser? Are you trying to serve to the same machine as the client? How about when you try from a different machine. Mark Guzdial
I doubt those factors should affect anything... the computer doesn't care how you get a socket connection. However, I did try your advice: no results. I am working now on tracing what happens when a connection is made. Stephen Bennett
update: The exact same code works when executed on a linux box (albeit I get "page not found" errors because I haven't bothered to change the serverDirectory in ServerAction). On my NT box, the code seems to get hung up while executing
. I'm hesitant to say this (because most of the time, programming mistakes are my fault, not that of the underlying system), but I think there is a problem with Squeak's network kernel. Will test on lab NT boxes. Stephen Bennett update: Apparently it works on the lab NT boxes, so I suppose something is foobar with my own box. If anyone runs into similar issues, let me know. Stephen Bennett
I am runnnig NT4 SP5 Workstation, and I am having the exact same problem. Let me know if you find a fix!
Stephen, I know that you doubt that any of those factors matter. But I built the PWS and have been dealing with it for two years. These factors DO matter! Did you try to access the server running on your NT from another machine as client? Mark Guzdial
Mark: You are correct in identifying my doubt. Doubting something, however, is not the same as disproving it, so I tried all of your suggestions. No dice. Gary: I'm running sp5 also... The lab computers are running sp6a and they don't have this problem. Maybe we should download sp6a. Stephen Bennett
Nope, that didn't work either. !@#!@$ Squeak, windows, etc. Stephen Bennett
I am a little confused about the specifics of this milestone.
Is this interpretation correct?
The user opens a web browser and goes to the URL http://mycomputers.ip.edu:8080/newspaper. This page presents the user with two options, (i) to generate a newspaper or (ii) to deselect news sources and then generate a newspaper. For this milestone, the deselecting of news sources doesn't need to be functional. If the user chooses to generate a paper, the server responds by visiting all of the news source websites, generating a HTML newspaper, and then sending this HTML paper to the browser so that it can be viewed online.
The "mycomputers.ip.edu" means YOUR machine's IP address or name. The rest of it seems correct. Mark Guzdial
Ok, so I'm trying to get the PWS to serve simple files right now. I've downloaded the server.tar from Mark's acct, and have filed it in. After changing my serverDirectory, I type in
PWS link:'default' to: ServerAction new.
PWS serveOnPort:9000 loggingTo: 'log.txt'
I then try to access 'http://18.104.22.168:9000/index.html' from my local web browser. An index.html file exists there. I've tried different ports, and I've tried using r36h54.res.gatech.edu:9000 instead of my IP as well. The browser just sits there and spins. It says web site found, waiting for reply, and then just sits. I'm on a Win98 box. Any help?
Thanks, David Jaggie
Update–a version of Scamper has been trying to access the page for >5 hours now. I don't think it's working. And no, it hasn't timed out.
I have the same symptoms on my NT4 SP5 Workstation box. Gary Herndon
You don't need the server.tar file to get the base PWS working. Why don't you insert some statements to show: to the Transcript when a request comes in? It may be that the request is never getting to Squeak. Mark Guzdial
It is possible that you have multiple listening sockets, somehow. Once you start a listening queue in Squeak, it never dies until explicitly killed. You can type the following to explicitly kill all listening queues. Then restart the server and see how it goes: ConnectionQueue allSubInstances do: [ :q | q destroy ] -Lex Spoon
We (Squeak Times) are confused about whether or not a final '/' is required (after .../newspaper in the url) to be entered by the user to access the web interface. We currently haven't found a way to make the page accessible unless a '/' is appended to the url. Is this allowed?
Think back to how PWS interprets URLs. If you have 'newspaper' as an action in the PWS actions table, then that action will be sent process: with the URL, even without the final /. Mark Guzdial
I'm having the exact same problem as some of the others listed above. I'm running Windows 98 and I'm trying to access the webserver from a different computer (my roomate's to be exact). I've tried accessing it via my IP address and the local host name, both yield the same results: Netscape just sits there with the message at the bottom of the screen saying "Connect: Host 22.214.171.124 contacted. Waiting for reply...". I know that the request is getting to Squeak because an entry is made in the log file every time I try to access the server. Each line in the log file reads "
Error: this should not happen
a Socket[connected]: Error: getData timeout". Any help would be appreciated.
I just asked on the PWS mailing list (firstname.lastname@example.org, join by sending "subscribe pws" to email@example.com) – there are several people running Win98 and Win95 with PWS on a stock Squeak 2.7 image with no problems. Mark Guzdial
Could this be a Resnet issue then? I took my image with me to the lab today and it worked fine. Then I came back to my W98 box and it just sat there doing the usual. This is one of the few differences that has not been brought up. It's kind of hard to believe I can get it to run universally if I can't get it to run on my own box. David Jaggie
Same problem on Windows 95...
Ummm...How are we supposed to turn in a hard copy of our code during class time on a day when there are no CS2340 classes??? At just what time should we have e-mailed the code to our TA??? (March 24 == Friday) Matthew Wolenetz
Yup, I just noted this, too. Let's do the at-Mark's-door-by-4:30 schtick again... Mark Guzdial
Do we have to download any images for the web interface to the server and then serve them from there. Or could we just pass the url of the image on the original website, say some image on cnn.com, to the browser. That way it would be a little faster since you wouldn't have to transfer the image twice. Anthony Gelsomini
Discussed in class. Yes, just pass on the URL of the image on the original website and let them serve it. Mark Guzdial
I remember it being mentioned in class that it was perfectly fine to just pass the URL of the image on the original website to the browser. Roger Norris
I still would like someone to post what to do about the following error:
a Socket[connected]: Error: getData timeout
I've already tried the things mentioned above.
If it really is a timeout, you could try increasing the timeout value.... Ideal would be to fix the code so that it doesn't use timeouts :) but that may be too much trouble for one project. Increasing the timeout, though, should be easy. It's especially easy if you get the error in a pink notifier, because you can pop into a debugger and figure out what, exactly, was timing out. Of course, if the whole thing happens within 2 seconds, then it's probably not a timeout.... -Lex Spoon
I just got the below message from Andreas Raab (at Disney Imagineering, builds the Windows VMs for Squeak) in response to my queries – Mark Guzdial
From: "Raab, Andreas"
Subject: RE: [pws] Who's got PWS running on Win98?
Date: Mon, 20 Mar 2000 14:46:49 -0800
Please make sure you are running the latest Win32 VM. There has been an
issue with incorrectly reporting socket status in one of the older VMs that
has been fixed since but it's possible that you've got an older VM that's
affected by this.
A lot of people including myself have had connection problems... I installed nt4sp6, but that didn't fix it, then Win2000, but that didn't either. What finally fixed it was installing another copy of squeak with new .changes .images, and then filing in the code I needed. (Yes, you loose projects this way, but you gain web services).
Doh! Thought you were talking about the Win32 VM. ::Bashes head with wet noodle:: I have seen the light! David Jaggie
I asked Andreas what happened in this VM, and here's his reply:
From: "Raab, Andreas"
Subject: RE: [pws] Who's got PWS running on Win98?
Date: Tue, 21 Mar 2000 21:16:10 -0800
The answer is simple: One bug less ;-)
Seriously, the issue was an incorrect interpretation of the select()
behavior on my part. Usually this isn't an issue if you run as a client
(e.g., what most people use) but when running a server it becomes noticable.
BTW, the thanks for this go to Michael Rueger since he found the problem and
pointed me to it.