Revision 918
python stuff
server.c | ||
---|---|---|
22 | 22 |
int main(int argc, char *argv[]) |
23 | 23 |
{ |
24 | 24 |
char buffer[256]; |
25 |
int tmp = 0; |
|
25 | 26 |
char outbuf[256]; |
26 | 27 |
int n, newsockfd, len; |
28 |
short int tprint; |
|
27 | 29 |
Packet *received; |
28 |
|
|
29 |
|
|
30 | 30 |
if (argc < 2) { |
31 | 31 |
fprintf(stderr,"usage: %s <port number>\n", argv[0]); |
32 | 32 |
exit(1); |
33 | 33 |
} |
34 | 34 |
newsockfd = make_sock(atoi(argv[1])); |
35 |
|
|
35 |
printf("Made socket\n"); |
|
36 | 36 |
make_listener(); |
37 | 37 |
printf("Robot listener created.\n"); |
38 | 38 |
|
... | ... | |
40 | 40 |
|
41 | 41 |
while (1) |
42 | 42 |
{ |
43 |
bzero(buffer, 256); |
|
43 | 44 |
wl_do(); |
44 | 45 |
|
45 |
/* this is a completely useless queue, since wl_do only reads one packet at a time */ |
|
46 | 46 |
received = dequeue(); |
47 |
/* oh well */ |
|
48 | 47 |
|
49 | 48 |
if (received) |
50 | 49 |
{ |
51 |
fprintf(stdout, "len: %d\n", buffer[1]); |
|
52 | 50 |
buffer[0] = (char) received->source; |
53 |
buffer[1] = (char) received->length-2;
|
|
51 |
buffer[1] = (char) received->length; |
|
54 | 52 |
buffer[2] = (char) received->type; |
55 |
memcpy(buffer+3, received->packet, received->length); |
|
53 |
buffer[3] = 0; |
|
54 |
memcpy(buffer+4, received->packet, received->length); |
|
56 | 55 |
|
57 |
n = write(newsockfd, buffer, 200); |
|
56 |
memcpy(&tprint, buffer+4, 2); |
|
57 |
|
|
58 |
printf("%d\n", tprint); |
|
59 |
n = write(newsockfd, buffer, 22); |
|
58 | 60 |
free(received); |
59 | 61 |
bzero(buffer, 256); |
60 | 62 |
} |
Also available in: Unified diff