Hello Pete, The states are not that important, but the events are. Check this link: http://wiki.overbyte.be/wiki/index.php/Asynchronous_Paradigm and ask your questions here if it doesn't answer your question.
-- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Pete Williams wrote: > Hello again > > I'm trying to write a very simple client/server socket application > using TWSocket. However, I think I may not understand the use of > states correctly. > > What I want is for the client to connect to the server, send some > data, and then disconnect. If it has more data to send, I want it to > connect again and repeat the process. > > Here's what is happening at the moment. The client can connect to the > server and successfully send as much data as it chooses. However, once > it disconnects it can't reconnect. > > The code on the client is broadly thus (using a pseudo code): > > if myclient.state <> wsConnected then > begin > myclient.connect; > loop for 5 seconds begin > myclient.processMessages; > if myclient.state = wsConnected then > begin > lbConnected := TRUE: > break; > end; > end loop; > end else > lbConnected := TRUE; > > if lbConnected then > myclient.sendstr(thedatastring); > > myclient.close(); > > On the server, this is what I have: > > myserver.OnsessionAvailable > begin > myserversocket.dup(myserversocket.accept()); > end; > > I'm also handling the OnDataAvailable event, and this works fine - but > only the first time (or at least until the client disconnects). > > I've tried recalling listen() in the OnSessionClosed event, but it > does nothing. > > The state of the client on the 2nd attempt to reconnect remains at > closed. > > If anyone can point me in the right direction I'd be grateful. Maybe I > need some form of clean-up on the server after the disconnect? > > Cheers, -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be