⎕SE.FontObj←'APL385 Unicode' 22 ⍝ Quick Introduction to Conga )load conga )copy util DISP NL←⎕UCS 13 10 ⍝ --- Simple Clients --- DRC.Init '' DRC.Client 'C1' 'localhost' 13 'Text' 1000 DISP DRC.Wait'C1' DRC.Close 'C1' DRC.Client 'C1' 'www.dyalog.com' 80 'Text' 100000 DRC.Send 'C1' ('GET / HTTP/1.1',NL,'Host: www.dyalog.com:80',NL,NL) (rc obj event data)←4↑DRC.Wait 'C1' rc ⍝ Return Code obj ⍝ Object Name event ⍝ Event Name data~NL ⍝ Data without linefeeds (rc obj event data)←4↑DRC.Wait 'C1' ⍴data DRC.Close 'C1' rc headers data←Samples.HTTPGet 'http://www.dyalog.com' rc headers ⍴data ⍝ --- A simple Server --- DRC.Server 'TOD' 913 'Text' 1000 DRC.Wait 'TOD' 1000 DRC.Client 'C1' 'localhost' 913 'Text' 1000 DISP (rc obj event data)←4↑DRC.Wait 'TOD' DRC.Send obj '16:15:00 14-10-2008' 1 DISP DRC.Wait 'C1' DRC.Close 'C1' DRC.Close 'TOD' TODServer.Run&913 ⍝ Trace me! DRC.Client 'C1' 'localhost' 913 'Text' 1000 DISP DRC.Wait 'C1' DRC.Close 'C1' TODServer.DONE←1 ⍝ --- Command Mode --- DRC.Server 'TOD' 913 ⍝ 'Command' DRC.Wait 'TOD' 1000 DRC.Client 'C1' 'localhost' 913 ⍝ 'Command' DISP (rc obj event data)←4↑DRC.Wait 'TOD' DISP DRC.Send 'C1.CMD1' 'What time is it?' DISP (rc obj event data)←4↑DRC.Wait 'TOD' DRC.Respond obj ⎕TS DISP DRC.Wait 'C1' DRC.Close 'TOD' DRC.Close 'C1' )copy c:\conga\Dws\CongaDev.DWS APLTODServer APLTODServer.Run&913 ⍝ Trace & change to Command Mode DRC.Client 'C1' 'localhost' 913 DRC.Send 'C1.Q1' 'What time is it?' DRC.Send 'C1.Q2' 'What time is it?' DRC.Wait 'C1.Q2' DRC.Wait 'C1.Q1' {DRC.Send ('C1.',⍵) 'What time is it?'}¨'Q1' 'Q2' 'Q3' 'Q4' {⎕TID ⍵,4⊃DRC.Wait'C1.',⍵}&¨'Q4' 'Q2' 'Q1' 'Q3' ⍝ --- Trace Samples.TestFTPClient ⍝ --- Trace Samples.TestWebServer ⍝ --- Other Samples? Fork? ⍝ --- End of Intro to Conga --- Back to PPT ---