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