int CitClient::attach(const wxString& host, const wxString& port) {
wxString ServerReady;
- //if (sock.IsConnected())
- // sock.Close();
- //addr.Hostname(host);
- //addr.Service(port);
- //sock.SetNotify(0);
- //sock.Connect(addr, TRUE);
- //if (sock.IsConnected()) {
- // serv_gets(ServerReady);
- // initialize_session();
- // return(0);
- //}
- //else return(1);
-
if (sock.is_connected())
sock.detach();
if (sock.attach(host, port)==0) {
}
-
-// constructor
+// constructur
CitClient::CitClient(void) {
- //wxSocketHandler::Master();
- //sock.SetFlags(wxSocketBase::WAITALL);
- //wxSocketHandler::Master().Register(&sock);
- //sock.SetNotify(wxSocketBase::REQ_LOST);
}
-
// destructor
CitClient::~CitClient(void) {
void CitClient::detach(void) {
wxString buf;
- //if (sock.IsConnected()) {
if (sock.is_connected()) {
serv_puts("QUIT");
serv_gets(buf);
- //sock.Close();
sock.detach();
}
}
// Is this client connected? Simply return the IsConnected status of sock.
bool CitClient::IsConnected(void) {
- //return sock.IsConnected();
return sock.is_connected();
}
sock.serv_gets(charbuf);
buf = charbuf;
-
- //buf.Empty();
- //do {
- // while (sock.IsData()==FALSE) ;;
- // sock.Read(charbuf, 1);
- // if (isprint(charbuf[0])) buf.Append(charbuf[0], 1);
- //} while(isprint(charbuf[0]));
}
// Write a line of text to the server
void CitClient::serv_puts(wxString buf) {
- //sock.Write(buf, strlen(buf));
- //sock.Write("\n", 1);
sock.serv_puts(buf);
}
int first_digit;
wxString buf;
+ bool express_messages_waiting = FALSE;
serv_puts(command);
serv_gets(response);
- // if (response.Length()==0) serv_gets(response);
first_digit = (response.GetChar(0)) - '0';
+ if (response.GetChar(3) == '*')
+ express_messages_waiting = TRUE;
+
if (first_digit == 1) { // LISTING_FOLLOWS
xferbuf.Clear();
while (serv_gets(buf), buf != "000") {
}
+ if (express_messages_waiting) {
+ // FIX do something here
+ }
return first_digit;
}
*/
#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
#include <unistd.h>
-#endif
#include <stdio.h>
#include <fcntl.h>
#include <signal.h>
serv_sock = (-1);
}
-int TCPsocket::connectsock(char *host, char *service, char *protocol)
+int TCPsocket::connectsock(const char *host, const char *service,
+ const char *protocol)
{
struct hostent *phe;
struct servent *pse;
int TCPsocket::attach(char *host, char *port) {
- printf("attach() called\n");
serv_sock = connectsock(host, port, "tcp");
if (serv_sock >= 0) return 0;
else return (-1);
}
bool TCPsocket::is_connected(void) {
- printf("is_connected() called, serv_sock is %d\n", serv_sock);
if (serv_sock >= 0) return TRUE;
else return FALSE;
}