%TGIF 4.1.45-QPL state(0,37,100.000,0,0,0,16,1,9,1,1,0,0,1,0,1,0,'Helvetica-Bold',1,97920,0,0,1,5,0,0,1,1,0,16,0,0,2,2,1,1,1050,1485,0,0,2880,0). % % @(#)$Header$ % %W% % unit("1 pixel/pixel"). color_info(19,65535,0,[ "magenta", 65535, 0, 65535, 65535, 0, 65535, 1, "red", 65535, 0, 0, 65535, 0, 0, 1, "green", 0, 65535, 0, 0, 65535, 0, 1, "blue", 0, 0, 65535, 0, 0, 65535, 1, "yellow", 65535, 65535, 0, 65535, 65535, 0, 1, "pink", 65535, 49367, 52184, 65535, 49344, 52171, 1, "cyan", 0, 65535, 65535, 0, 65535, 65535, 1, "CadetBlue", 24395, 40595, 41139, 24415, 40606, 41120, 1, "white", 65535, 65535, 65535, 65535, 65535, 65535, 1, "black", 0, 0, 0, 0, 0, 0, 1, "DarkSlateGray", 12069, 20297, 20297, 12079, 20303, 20303, 1, "#00000000c000", 0, 0, 49079, 0, 0, 49152, 1, "#820782070000", 33167, 33167, 0, 33287, 33287, 0, 1, "#3cf3fbee34d2", 15655, 64510, 13606, 15603, 64494, 13522, 1, "#3cf3fbed34d3", 15655, 64510, 13606, 15603, 64493, 13523, 1, "#ffffa6990000", 65535, 42676, 0, 65535, 42649, 0, 1, "#ffff0000fffe", 65535, 0, 65535, 65535, 0, 65534, 1, "#fffe0000fffe", 65535, 0, 65535, 65534, 0, 65534, 1, "#fffe00000000", 65535, 0, 0, 65534, 0, 0, 1 ]). script_frac("0.6"). fg_bg_colors('black','white'). dont_reencode("FFDingbests:ZapfDingbats"). objshadow_info('#c0c0c0',2,2). page(1,"",1,''). group([ box('black','',55,100,205,125,0,1,1,348,0,0,0,0,0,'1',0,[ ]), text('black',130,101,1,1,1,32,17,350,14,3,0,0,0,0,2,32,17,0,0,"",0,0,0,0,115,'',[ minilines(32,17,0,0,1,0,0,[ mini_line(32,14,3,0,0,0,[ str_block(0,32,14,3,0,0,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,32,14,3,0,0,0,0,0,0,0, "Host")]) ]) ])]) ], 696,0,0,[ ]). group([ box('black','',850,360,1000,385,0,1,1,128,0,0,0,0,0,'1',0,[ ]), text('black',925,361,1,1,1,106,17,130,14,3,0,0,0,0,2,106,17,0,0,"",0,0,0,0,375,'',[ minilines(106,17,0,0,1,0,0,[ mini_line(106,14,3,0,0,0,[ str_block(0,106,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,106,14,3,0,-1,0,0,0,0,0, "SocketAddress")]) ]) ])]) ], 699,0,0,[ ]). group([ box('black','',250,250,400,275,0,1,1,246,0,0,0,0,0,'1',0,[ ]), text('black',325,251,1,1,1,52,17,248,14,3,0,0,0,0,2,52,17,0,0,"",0,0,0,0,265,'',[ minilines(52,17,0,0,1,0,0,[ mini_line(52,14,3,0,0,0,[ str_block(0,52,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,52,14,3,0,-1,0,0,0,0,0, "Service")]) ]) ])]) ], 702,0,0,[ ]). group([ box('black','',650,100,800,125,0,1,1,26,0,0,0,0,0,'1',0,[ ]), text('black',725,101,1,1,1,97,17,28,14,3,0,0,0,0,2,97,17,0,0,"",0,0,0,0,115,'',[ minilines(97,17,0,0,1,0,0,[ mini_line(97,14,3,0,0,0,[ str_block(0,97,14,3,0,0,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,97,14,3,0,0,0,0,0,0,0, "StreamSocket")]) ]) ])]) ], 705,0,0,[ ]). group([ box('black','',450,100,600,125,0,1,1,707,0,0,0,0,0,'1',0,[ ]), text('black',525,101,1,1,1,79,17,708,14,3,0,0,0,0,2,79,17,0,0,"",0,0,0,0,115,'',[ minilines(79,17,0,0,1,0,0,[ mini_line(79,14,3,0,0,0,[ str_block(0,79,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,79,14,3,0,-1,0,0,0,0,0, "Application")]) ]) ])]) ], 706,0,0,[ ]). poly('black','',2,[ 525,125,525,885],0,1,1,712,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 725,125,725,885],0,1,1,713,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 925,385,925,885],0,1,1,714,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 130,125,130,255],0,1,1,715,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 325,275,325,430],0,1,1,716,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 525,555,725,555],1,1,1,717,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 325,370,525,370],1,1,1,722,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 925,595,725,595],1,1,1,724,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 725,750,525,750],1,1,1,725,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',4,[ 525,240,630,240,630,280,525,280],1,1,1,728,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',4,[ 725,665,830,665,830,715,725,715],1,1,1,729,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). text('black',560,538,1,0,1,47,15,730,12,3,0,0,0,0,2,47,15,0,0,"",0,0,0,0,550,'',[ minilines(47,15,0,0,0,0,0,[ mini_line(47,12,3,0,0,0,[ str_block(0,47,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,47,12,3,0,0,0,0,0,0,0, "Connect")]) ]) ])]). text('black',380,153,1,0,1,71,15,734,12,3,0,0,0,0,2,71,15,0,0,"",0,0,0,0,165,'',[ minilines(71,15,0,0,0,0,0,[ mini_line(71,12,3,0,0,0,[ str_block(0,71,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,71,12,3,0,-1,0,0,0,0,0, "FindAddress")]) ]) ])]). text('black',560,218,1,0,1,83,15,736,12,3,0,0,0,0,2,83,15,0,0,"",0,0,0,0,230,'',[ minilines(83,15,0,0,0,0,0,[ mini_line(83,12,3,0,0,0,[ str_block(0,83,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,83,12,3,0,-1,0,0,0,0,0, "Select address")]) ]) ])]). text('black',195,193,1,0,1,87,15,738,12,3,0,0,0,0,2,87,15,0,0,"",0,0,0,0,205,'',[ minilines(87,15,0,0,0,0,0,[ mini_line(87,12,3,0,0,0,[ str_block(0,87,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,87,12,3,0,-1,0,0,0,0,0, "InternetAddress")]) ]) ])]). text('black',395,308,1,0,1,71,15,740,12,3,0,0,0,0,2,71,15,0,0,"",0,0,0,0,320,'',[ minilines(71,15,0,0,0,0,0,[ mini_line(71,12,3,0,0,0,[ str_block(0,71,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,71,12,3,0,-1,0,0,0,0,0, "FindAddress")]) ]) ])]). text('black',375,348,1,0,1,28,15,744,12,3,0,0,0,0,2,28,15,0,0,"",0,0,0,0,360,'',[ minilines(28,15,0,0,0,0,0,[ mini_line(28,12,3,0,0,0,[ str_block(0,28,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,28,12,3,0,-1,0,0,0,0,0, "Ports")]) ]) ])]). text('black',820,578,1,0,1,51,15,746,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,590,'',[ minilines(51,15,0,0,0,0,0,[ mini_line(51,12,3,0,0,0,[ str_block(0,51,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,51,12,3,0,0,0,0,0,0,0, "sockaddr")]) ]) ])]). text('black',750,643,1,0,1,88,15,748,12,3,0,0,0,0,2,88,15,0,0,"",0,0,0,0,655,'',[ minilines(88,15,0,0,0,0,0,[ mini_line(88,12,3,0,0,0,[ str_block(0,88,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,88,12,3,0,0,0,0,0,0,0, "create, connect")]) ]) ])]). text('black',570,728,1,0,1,64,15,750,12,3,0,0,0,0,2,64,15,0,0,"",0,0,0,0,740,'',[ minilines(64,15,0,0,0,0,0,[ mini_line(64,12,3,0,0,0,[ str_block(0,64,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,64,12,3,0,-1,0,0,0,0,0, "Established")]) ]) ])]). text('black',55,34,1,0,1,532,20,752,16,4,0,0,0,0,2,532,20,0,0,"",0,0,0,0,50,'',[ minilines(532,20,0,0,0,0,0,[ mini_line(532,16,4,0,0,0,[ str_block(0,532,16,4,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,97920,532,16,4,0,-1,0,0,0,0,0, "Scenario 1: Make a socket connected to a specific host and service")]) ]) ])]). poly('black','',2,[ 525,170,130,170],1,1,1,805,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 130,210,525,210],1,1,1,808,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 525,325,325,325],1,1,1,812,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',4,[ 525,405,630,405,630,445,525,445],1,1,1,817,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). text('black',560,383,1,0,1,60,15,818,12,3,0,0,0,0,2,60,15,0,0,"",0,0,0,0,395,'',[ minilines(60,15,0,0,0,0,0,[ mini_line(60,12,3,0,0,0,[ str_block(0,60,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,60,12,3,0,0,0,0,0,0,0, "Select port")]) ]) ])]). poly('black','',2,[ 525,500,925,500],1,1,1,830,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). text('black',575,483,1,0,1,37,15,835,12,3,0,0,0,0,2,37,15,0,0,"",0,0,0,0,495,'',[ minilines(37,15,0,0,0,0,0,[ mini_line(37,12,3,0,0,0,[ str_block(0,37,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,37,12,3,0,-1,0,0,0,0,0, "Create")]) ]) ])]). page(2,"",1,''). group([ box('black','',650,100,800,125,0,1,1,763,0,0,0,0,0,'1',0,[ ]), text('black',725,101,1,1,1,106,17,764,14,3,0,0,0,0,2,106,17,0,0,"",0,0,0,0,115,'',[ minilines(106,17,0,0,1,0,0,[ mini_line(106,14,3,0,0,0,[ str_block(0,106,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,106,14,3,0,-1,0,0,0,0,0, "SocketAddress")]) ]) ])]) ], 762,0,0,[ ]). group([ box('black','',50,100,200,125,0,1,1,766,0,0,0,0,0,'1',0,[ ]), text('black',125,101,1,1,1,52,17,767,14,3,0,0,0,0,2,52,17,0,0,"",0,0,0,0,115,'',[ minilines(52,17,0,0,1,0,0,[ mini_line(52,14,3,0,0,0,[ str_block(0,52,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,52,14,3,0,-1,0,0,0,0,0, "Service")]) ]) ])]) ], 765,0,0,[ ]). group([ box('black','',450,100,600,125,0,1,1,769,0,0,0,0,0,'1',0,[ ]), text('black',525,101,1,1,1,48,17,770,14,3,0,0,0,0,2,48,17,0,0,"",0,0,0,0,115,'',[ minilines(48,17,0,0,1,0,0,[ mini_line(48,14,3,0,0,0,[ str_block(0,48,14,3,0,0,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,48,14,3,0,0,0,0,0,0,0, "Socket")]) ]) ])]) ], 768,0,0,[ ]). group([ box('black','',250,100,400,125,0,1,1,772,0,0,0,0,0,'1',0,[ ]), text('black',325,101,1,1,1,79,17,773,14,3,0,0,0,0,2,79,17,0,0,"",0,0,0,0,115,'',[ minilines(79,17,0,0,1,0,0,[ mini_line(79,14,3,0,0,0,[ str_block(0,79,14,3,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,80640,79,14,3,0,-1,0,0,0,0,0, "Application")]) ]) ])]) ], 771,0,0,[ ]). poly('black','',2,[ 325,125,325,650],0,1,1,774,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 525,125,525,650],0,1,1,775,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 725,125,725,650],0,1,1,776,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 125,125,125,650],0,1,1,778,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 325,365,525,365],1,1,1,779,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 325,250,725,250],1,1,1,783,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 125,210,325,210],1,1,1,784,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 325,170,125,170],1,1,1,785,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 725,400,525,400],1,1,1,786,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ 525,550,325,550],1,1,1,787,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',4,[ 525,465,630,465,630,515,525,515],1,1,1,789,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). text('black',355,343,1,0,1,33,15,790,12,3,0,0,0,0,2,33,15,0,0,"",0,0,0,0,355,'',[ minilines(33,15,0,0,0,0,0,[ mini_line(33,12,3,0,0,0,[ str_block(0,33,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,33,12,3,0,-1,0,0,0,0,0, "Listen")]) ]) ])]). text('black',570,228,1,0,1,37,15,795,12,3,0,0,0,0,2,37,15,0,0,"",0,0,0,0,240,'',[ minilines(37,15,0,0,0,0,0,[ mini_line(37,12,3,0,0,0,[ str_block(0,37,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,37,12,3,0,-1,0,0,0,0,0, "Create")]) ]) ])]). text('black',200,148,1,0,1,71,15,796,12,3,0,0,0,0,2,71,15,0,0,"",0,0,0,0,160,'',[ minilines(71,15,0,0,0,0,0,[ mini_line(71,12,3,0,0,0,[ str_block(0,71,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,71,12,3,0,-1,0,0,0,0,0, "FindAddress")]) ]) ])]). text('black',195,193,1,0,1,28,15,797,12,3,0,0,0,0,2,28,15,0,0,"",0,0,0,0,205,'',[ minilines(28,15,0,0,0,0,0,[ mini_line(28,12,3,0,0,0,[ str_block(0,28,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,28,12,3,0,-1,0,0,0,0,0, "Ports")]) ]) ])]). text('black',565,383,1,0,1,51,15,798,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,395,'',[ minilines(51,15,0,0,0,0,0,[ mini_line(51,12,3,0,0,0,[ str_block(0,51,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,51,12,3,0,0,0,0,0,0,0, "sockaddr")]) ]) ])]). text('black',550,443,1,0,1,61,15,799,12,3,0,0,0,0,2,61,15,0,0,"",0,0,0,0,455,'',[ minilines(61,15,0,0,0,0,0,[ mini_line(61,12,3,0,0,0,[ str_block(0,61,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,61,12,3,0,-1,0,0,0,0,0, "bind, listen")]) ]) ])]). text('black',370,528,1,0,1,50,15,800,12,3,0,0,0,0,2,50,15,0,0,"",0,0,0,0,540,'',[ minilines(50,15,0,0,0,0,0,[ mini_line(50,12,3,0,0,0,[ str_block(0,50,12,3,0,-1,0,0,0,[ str_seg('black','Helvetica',0,69120,50,12,3,0,-1,0,0,0,0,0, "Listening")]) ]) ])]). text('black',55,34,1,0,1,267,20,801,16,4,0,0,0,0,2,267,20,0,0,"",0,0,0,0,50,'',[ minilines(267,20,0,0,0,0,0,[ mini_line(267,16,4,0,0,0,[ str_block(0,267,16,4,0,-1,0,0,0,[ str_seg('black','Helvetica-Bold',1,97920,267,16,4,0,-1,0,0,0,0,0, "Scenario 2: Setup a server socket")]) ]) ])]). poly('black','',4,[ 325,280,430,280,430,320,325,320],1,1,1,956,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). text('black',360,258,1,0,1,60,15,957,12,3,0,0,0,0,2,60,15,0,0,"",0,0,0,0,270,'',[ minilines(60,15,0,0,0,0,0,[ mini_line(60,12,3,0,0,0,[ str_block(0,60,12,3,0,0,0,0,0,[ str_seg('black','Helvetica',0,69120,60,12,3,0,0,0,0,0,0,0, "Select port")]) ]) ])]).