Tuesday, April 17, 2012

google tricks





site:google.com fox will find all sites containing the
word fox , located within the  *.google.com  domain

intitle:fox fire  will find all sites with the word  fox  in the
title and  fire in the text

allintitle:fox fire  will find all sites with the words fox 
and  fire in the title, so it's equivalent to  intitle:fox
intitle:fire

inurl:fox fire  will find all sites containing the word  fire
in the text and  fox  in the URL

allinurl:fox fire will find all sites with the words fox 
and  fire in the URL, so it's equivalent to  inurl:fox
inurl:fire

filetype:pdf fire will return PDFs containing the word
fire, while  filetype:xls  fox will return  Excel spreadsheets
with the word fox

numrange:1-100 fire  will return sites containing a number
from 1 to 100 and the word  fire. The same result can be
achieved with 1..100 fire

link:www.google.com will return documents containing
one or more links to www.google.com

inanchor:fire will return documents with links whose
description contains the word fire (that's the actual link
text, not the URL indicated by the link)


allintext:"fire fox" will return documents which con -tain the phrase  fire fox in their text only

+fire will order results by the number of occurrences of
the word fire

-fire will return documents that don't contain the word
fire

"fire fox" will return documents containing the phrase
fire fox

fire.fox will return documents containing the phrases
fire fox,  fireAfox,  fire1fox,  fire-fox etc.

fire * fox will return documents containing the phrases
fire the fox , fire in fox ,  fire or fox etc.

"fire fox" | firefox  will return documents containing the
phrase fire fox or the word  firefox

Sunday, April 15, 2012

non-blocking tcp socket





Enable/Disable Non-Blocking Mode
Once a socket has been created using the socket() call, it may be set to non-blocking as follows:
    #include "sys/ioctl.h"
    int on =1;
    int off =0;

    //Enable non-blocking
    ioctl (mySocket, FIONBIO, &(on));
    //Disable non-blocking
    ioctl (mySocket, FIONBIO, (char *) &(off));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
...
...
...
FD_ZERO(&read_mask);
FD_ZERO(&write_mask);
FD_SET(accept_socket, &read_mask);
FD_SET(accept_socket, &write_mask);
/* handle receiving the packet */
select_return = select(accept_socket, &read_mask, (fd_set *)0, (fd_set *)0, &tv);
if(select_return < 0) /* [timeout=0, -1= ERROR] is returned */
{
    printf("recv: select functions returned -1 error value\n");
}
else if(select_return == 0)
{
    printf("recv: select functions returned 0 timeout value\n");
}
else
{
    printf("recv: select functions returned a positive value\n");
     
    if(FD_ISSET(accept_socket, &read_mask))
    {
        /*  HAND SHAKE AS A START */
        rcv_len = recv(accept_socket, myDmsg, MSG_SIZE, 0);
                 
        if( rcv_len < 0)
        {
            strcpy(myDmsg, "Nothing received");
            isConnected = FALSE;
        }
        else if(rcv_len >= 0)
        {
            strcpy(myDmsg, "Received something2...");
        }
    }
}
/* handle sending the packet */
select_return = select(accept_socket+1, (fd_set *)0, &write_mask, (fd_set *)0, &tv);
if(select_return < 0) /* [timeout=0, -1= ERROR] is returned */
{
    printf("send: select functions returned -1 error value\n");
}
else if(select_return == 0)
{
    printf("send: select functions returned 0 timeout value\n");
}
else
{
    printf("send: select functions returned a positive value\n");
             
    if( send(accept_socket, myDmsg, strlen(myDmsg), 0) < 0)
    {
        /* an error occurred. Handle it appropriately (TODO) */
    }
}
...
...
...


tutorials: 0 1

Labels