1 #include "config.h"
2 #include "yapp.h"
3 #include "ysocket.h"
4 #include "debug.h"
5 #include "intl.h"
6 
7 #include <stdio.h>
8 #include <string.h>
9 #include <netinet/in.h>
10 #include <sys/socket.h>
11 
12 static YApplication *app;
13 char const *ApplicationName = "iceskt";
14 
15 class SockTest: public YSocketListener {
16 public:
SockTest()17     SockTest() {
18         sk.setListener(this);
19 
20         sockaddr_in in;
21 
22         in.sin_family = AF_INET;
23         in.sin_port = htons(8080);
24         in.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
25         sk.connect((struct sockaddr *) &in, sizeof(in));
26     }
~SockTest()27     virtual ~SockTest() {
28     }
29 
socketConnected()30     virtual void socketConnected() {
31         MSG("Connected\n");
32 
33         const char *s = "GET / HTTP/1.0\r\n\r\n";
34 
35         sk.write(s, strlen(s));
36         MSG("Written");
37         sk.read((char *) bf, sizeof(bf));
38     }
39 
socketError(int err)40     virtual void socketError(int err) {
41         if (err) warn(_("Socket error: %d"), err);
42         else { MSG("EOF\n"); }
43         app->exit(err ? 1 : 0);
44     }
45 
socketDataRead(char * buf,int len)46     virtual void socketDataRead(char *buf, int len) {
47         msg("read %d\n", len);
48         if (len > 0) {
49             //write(1, buf, len);
50             sk.read((char *) bf, sizeof(bf));
51         }
52     }
53 private:
54     YSocket sk;
55     unsigned char bf[4096];
56 };
57 
main(int argc,char ** argv)58 int main(int argc, char **argv) {
59 
60     bindtextdomain(PACKAGE, LOCDIR);
61     textdomain(PACKAGE);
62 
63     YApplication app(&argc, &argv);
64     ::app = &app;
65 
66     SockTest sk;
67     return app.mainLoop();
68 }
69 
70 // vim: set sw=4 ts=4 et:
71