> connection thing correctly tells me there is something wrong. > The real question is still what?
I don't know. I don't see anything obvious. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be ----- Original Message ----- From: "John Dammeyer" <[EMAIL PROTECTED]> To: "'ICS support mailing'" <[email protected]> Sent: Wednesday, October 12, 2005 10:44 PM Subject: Re: [twsocket] Error 10048 in TWSocket > Hi Francois, > > Probably am. > > Thing is, the server is ultimately going to be written in GCC running on > Redhat 6.2 Linux. Since this appears to be a server issue perhaps it will > go away then. But the fact that the two windows applications don't do the > connection thing correctly tells me there is something wrong. The real > question is still what? > > Thanks, > > John Dammeyer > > > > > > > Why don't you use TWSocketServer ? > > Are you reinventing the wheel ? > > > > -- > > [EMAIL PROTECTED] > > http://www.overbyte.be > > > > ----- Original Message ----- > > From: "John Dammeyer" <[EMAIL PROTECTED]> > > To: "'ICS support mailing'" <[email protected]> > > Sent: Wednesday, October 12, 2005 8:00 PM > > Subject: [twsocket] Error 10048 in TWSocket > > > > > > > Hi all, > > > > > > I have a server and a client. The Server application is > > started and does > > > the following: > > > > > > SrvSocket.Proto := 'tcp'; > > > SrvSocket.Addr := '0.0.0.0'; // Use any interface > > > SrvSocket.Port := '4000'; // Wait on this port. > > > SrvSocket.Listen; // Start listening for client > > > > > > I then start up the client which does this: > > > > > > CliSocket.Proto := 'tcp'; > > > CliSocket.Addr := HostnameEdit.Text; > > > CliSocket.Port := '4000'; > > > CliSocket.LocalPort := '4001'; > > > CliSocket.Connect; > > > > > > So far so good. When the connection is established the > > server shows this: > > > > > > { We need to accept the client connection } > > > NewHSocket := SrvSocket.Accept; > > > > > > { And then associate this connection with our client socket } > > > CliSocket.Dup(NewHSocket); > > > > > > { Wants to know who is connected to display on screen } > > > CliSocket.GetPeerName(PeerName, Sizeof(PeerName)); > > > > > > { User likes to see internet address in dot notation } > > > Peer := IntToStr(ord(PeerName.sin_addr.S_un_b.s_b1)) + '.' + > > > IntToStr(ord(PeerName.sin_addr.S_un_b.s_b2)) + '.' + > > > IntToStr(ord(PeerName.sin_addr.S_un_b.s_b3)) + '.' + > > > IntToStr(ord(PeerName.sin_addr.S_un_b.s_b4)); > > > InfoLabel.Caption := 'Remote ' + Peer + ' connected. Port:' + > > > CliSocket.GetPeerPort; > > > > > > And then the Server can send information to the client. > > > > > > m.Attrib := REVERSE_TEXT; > > > m.Cmd := ATTRTEXT_CMD; > > > CliSocket.Send(@m,sizeof(m)); > > > > > > The problem come with disconnecting and reconnecting. > > > If I disconnect the server first by: > > > > > > { Server Application: Shutdown Server } > > > CliSocket.ShutDown(SD_BOTH); { Shut the > > communication down > > > } > > > CliSocket.Close; { Close the > > communication > > > } > > > SrvSocket.ShutDown(SD_BOTH); { Shut the > > communication down > > > } > > > SrvSocket.Close; { Close the > > communication > > > } > > > > > > And then shut down the client: > > > > > > { Client Application: Shut down client } > > > CliSocket.ShutDown(SD_BOTH); { Shut the > > communication down > > > } > > > CliSocket.Close; > > > > > > I can easily reconnect without problems. > > > > > > However if I run the Client shutdown code first (or > > terminate the client > > > application and restart) and shutdown the server code last, > > I get the > > > Error > > > 10048 which is 'Port in use'. That implies (since the > > client application > > > is > > > terminated and restarted), that the server application > > seems to be hanging > > > onto the port. > > > > > > How do I code it so either side can 'crash', be rebooted or just > > > disconnect > > > and reconnect? > > > > > > Thanks, > > > > > > John Dammeyer > > > > > > -- > > > To unsubscribe or change your settings for TWSocket mailing list > > > please goto http://www.elists.org/mailman/listinfo/twsocket > > > Visit our website at http://www.overbyte.be > > > > -- > > To unsubscribe or change your settings for TWSocket mailing list > > please goto http://www.elists.org/mailman/listinfo/twsocket > > Visit our website at http://www.overbyte.be > > > > > > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://www.elists.org/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
