~ 1 ~
اقسأ باسى زبك انري خهقخهق اإل س ي عهق اقسأ زبك األكسو انري عهى بانقهى عهى اإل سا يا مل يعهى صدق اهلل انعظيى zayedalbadanee@yahoo.com ~ 2 ~
إىل الشمعت اليت حترتق لتضئ يل الطريك... إىل مه ذبلت ألزهر... إىل مه تعبت ألرتاح... إىل مه ظللتين دعىاهتا... إىل والدتي إىل مه كد ليمهد يل الطريك... إىل الصدر الىاسع والملب املشفك... إىل والدي إىل األلمار اليت جعلت حياتي هبجت ومتعت... إىل مه لامسىوي احلياة حلىها ومرها... إىل إخىاوي zayedalbadanee@yahoo.com ~ 3 ~
انف زص zayedalbadanee@yahoo.com انفظم األ ل 4 5 5 6 7 9 ان مذيح... ان شاكم انري ير ا ن ا ان شز ع... أ ذاف ان شز ع... األد اخ ان ظرخذيح في ان شز ع... ذجح ان ظاو... انخطح انشي يح... انفظم انثا ي 10 11 15 17 18 19... ذؼزيف انشثكاخ... أ اع انشثكاخ ي ديث طاق انر طيم... أ اع انشثكاخ ي ديث طزق انر طيم... األطثاب انري أدخ إنى إ شاء شثكاخ انك ثي ذز... يك اخ انشثكاخ األطاطيح... انشثكاخ ان ذهيح انفظم انثانث 22 23 23 26 27 28 30 31 33 33 34 35 36 38 40 انثز ذ ك الخ... يك اخ أط اف تز ذ ك الخ ان TCP تز ذ ك ل ان... UDP األط اف انخاطح تثز ذ ك ل ان... TCP األط اف انخاطح تثز ذ ك ل ان... UDP طثماخ انشثكاخ ان Socket ان رشاي ح... اطرخذاو تزيجح ان Socket ان رشاي ح إل شاء اذظال ػثز تز ذ ك ل ان... TCP اطرخذاو تزيجح ان Socket ان رشاي ح إل شاء اذظال ػثز تز ذ ك ل ان... UDP يك ا خ أط اف ان Socket ان رشاي ح... تزيجح ان Socket انغيز ان رشاي ح... يك ا خ أط اف ان Socket انغيز يرشاي ح... ذطثيماخ ػذو انرشاي في انذ خ د... د ال يكرثح ان... I/O أط اف ان... Stream انذ ال انري ذظرخذو إلدارج ان... Stream يف و ان... Threading ~ 4 ~
41 43 44 ان Threading في انذ خ د... انطزق انراتؼح نهظ ف... Thread انخ اص انراتؼح نهظ ف... Thread انفظم انزاتغ 49 52 53 54 56 58 60 ػ هيح إرطال ان ض... ػ هيح اطرمثال ان ض... ػ هيح إرطال ان ض ن ج ػ... ػ هيح اطرمثال ان ض ان زطم ن ج ػ... ػ هيح إرطال ان هفاخ... ػ هيح اطرمثال ان هفاخ... ػ هيح يزالثح األج شج... انفظم انخايض 64 64 65 67 69 74 75 ػ هيح ػزع انذرص... ػ هيح ػزع انذرص تاطرخذاو تز ذ ك ل ان... TCP ػ هيح ػزع انذرص تاطرخذاو تز ذ ك ل ان... UDP ػ هيح ػزع انذرص تاطرخذاو ل اخ ان... TCP ػ هيح اطرخذاو ج اس انطانة... ػ هيح ذج يذ فك ذج يذ ان ا ص ن دح ان فاذيخ... ػ هيح أتماف ذشغيم ج اس انك ثي ذز... انفظم انظادص 76 76 77 78 79... ي يشاخ ان ظاو... االطر راجاخ... انر طياخ ان مرزداخ شكز ػزفا...... ان زاجغ 80 85 ت اء انشثكاخ ان ذهيح ضثط إػذاداخ انشثكح ان الدك...... zayedalbadanee@yahoo.com ~ 5 ~
الفصل األول تعريف باملشروع ا مذ ح ا شاو ا ر ٠ ر ا ا ا ثحس أ ذاف ا ثحس األد اخ ا غرخذ ح ف ا ثحس زجح ا ظا ا خطح ا ض ١ ح ر ف ١ ز zayedalbadanee@yahoo.com ~ 6 ~
يمذيح:- ~ 7 ~
ان شاكم انري ير ا ن ا ان شز ع أ ذاف ان شز ع:- zayedalbadanee@yahoo.com ~ 8 ~
األد اخ ان ظرخذيح في ان شز ع: Microsoft Access Visual C#.Net zayedalbadanee@yahoo.com ~ 9 ~
ذجح ان ظاو :- Server client إرطال ض إرطال ض اطرمثال ض اطرمثال ض إرطال يهف إرطال يهف اطرمثال يهف اطرمثال يهف اطرمثال انذرص ػزع انذرص ل اج ذظ خ تاطرخذاو انج اس اطرخذاو انج اس انج اس ان زالة يزالثح ج اس ذ فيذ األيز ط اح تاالطرخذاو ػذو ط اح تاالطرخذاو. ذج يذ ان ا ص ان فاذيخ. إنغاء انرج يذ. إيماف ذشغيم انج اس. إػادج ذشغيم انج اس أ ايز انرذكى ~ 10 ~
zayedalbadanee@yahoo.com Server ػ هياخ ذذكى يخرهفح ػزع درص نثميح األج شج يزالثح ج اس آخز اطرخذاو ج اس آخز إرطال يهف نثميح األج شج إرطال ض نثميح األج شج Server Client إرطال يهف نه Server إرطال ض ي ان Server Client ~ 11 ~
انخطح انشي يح نه شز ع:- zayedalbadanee@yahoo.com ~ 12 ~
الفصل الثاىي ىظرة عامة ع الشبكات ذؼش ٠ ف ا شثىاخ. أ اع ا شثىاخ. أ اع ا شثىاخ ح ١ س طشق ا ر ط ١. األعثاب ا ر أدخ إ إ شاء شثىاخ ا ى ث ١ ذش. ى اخ ا شثىاخ األعاع ١ ح. ا شثىاخ ا ح ١ ح. zayedalbadanee@yahoo.com ~ 13 ~
ذؼزيف انشثكاخ Nodes.. (Peripherals) (Resources) Modem) Printer ) (CD ROM Drive ) ( Network Interface Card NIC ).. ~ 14 ~
(Transmission Media) (Waves Wires).( Fiber Optic) (Cables) Radio) ( Bandwidth ). Packets) Formats Network Operating System- NOS) ( Rights And Permissions ) Novell Netware Windows 2000 Windows98 أ اع انشثكاخ ي ديث طاق انر طيم : LAN Local Area LAN Network. Hub/Switch ~ 15 ~
Subnetting. WANs WANs Wide Area Networks. WAN. PSTN PSTN. ISDN Integrated Services Digital Network ~ 16 ~ ISDN
ISDN " PSTN : ISDN ISDN 64. (.. ISDN 64 ISDN2 B D. B ISDN30. xdsl x Digital Subscriber Line xdsl ~ 17 ~
ISDN DSL. Cable xdsl Cable Coax Cable xdsl... zayedalbadanee@yahoo.com ~ 18 ~
أ اع انشثكاخ ي ديث طزق انر طيم.1 انشثكح انخطيح Topology) (Bus ا شى ) 2-1 ( ا شثىح ا خط ١ ح zayedalbadanee@yahoo.com ا ر ط ١ ت ز ا طش ٠ مح ٠ ى ذ ط ١ خط ذؼرثش اتغط طشق ا رشو ١ ة: ~ 19 ~ ػية ذ انطزيمح: ػذج أج ضج و ث ١ ذش. وات سئ ١ غ ٠ ش تج ١ غ األج ضج ٠ رفشع إ ػذج فش ع ر ط ١ ح إرا حذز ػط تا هات ا شئ ١ غ ٠ ؤد إ ػط ا شثىح تا ىا. تأج ضج ا شثىح. ػ و ج اص ا رظاس د س ف إسعاي ا ث ١ ا اخ إال ع ف ٠ حذز ذظاد. و ا صاد ػذد األج ضج طاي لد اال رظاس صاد تطء ا شثىح. ف حا ح ػط احذ األج ضج ذذ س ا ث ١ ا اخ ف ا هات ٠ غثة ػط ا شثىح. رغ ة ػ زا ا ؼ ١ ة إ ٠ ماف اإلشاسج غ اسذذاد ا ذغرخذ ط ح خاطح ذغ
ا ٠ ح طشف ١ ح Terminator ذ ػغ ف طشف ا ه ات. 2. انشثكح انذهميح ا شى ) 2-2 ( ا شثىح ا ح م ١ ح zayedalbadanee@yahoo.com ػية ذ انطزيمح:.3 ٠ ر ستط األج ضج ػ شى ح مح أ دائشج تذ ا ٠ اخ. ذ رم ا ؼ اخ و ا ف ا ر ط ١ ا خط. ١ ضاذ ا ش س ا ث ١ ا اخ ف اذجا ١. و و ث ١ ذش ٠ ؼرثش ىشس إلشاسج ٠ م ٠ ا. ف حا ح ذ لف احذ األج ضج ذر لف ا شثىح تا ىا. انشثكح ان ج يح ا شى ) 2-3 ( ا شثىح ا ج ١ ح ~ 20 ~
٠ ر ذ ط ١ و ج اص أج ضج ا شثىح تج اص ٠ غ ( ج غ Hub) أ ج اص ٠ غ ( ثذي.Switch) ا و األج ضج ذ ط إ مطح احذج. إرا ذ لف ا ج اص أ ا مطغ ا غ ه ا ز ٠ شتط تا ج غ ذرأشش تال ا شثىح. ػية ذ انطزيمح: إرا حذز ػط ف Hub ذر لف ا شثىح و ١ ا ػ ا ؼ. األطثاب انري أدخ إنى إ شاء شثكاخ انك ثي ذز يشاركح ان ؼطياخ: ذغ ح ج ػح ا غرخذ ١ ترثادي ا ؼ اخ تشى رظ عش ٠ غ فمذ ذى ز ا ؼط ١ اخ ػثاسج ػ ذمش ٠ ش لا تئػذاد ظف ف د ح اعرفاد ظف آخش ف د ح أخش. يشاركح انرطثيماخ: ذ فش ا شاسوح ف ا ثش ج ١ اخ ا ر ذ ذ ظ ١ ث ا ػ ا خذ ( Server (. يشاركح األج شج : ذ فش إ ىا ١ ح االعرفادج ا طشف ١ اخ ا ج دج تا شثىح ( وا طاتؼاخ ا اعح ا ؼ ئ - أج ضج ا فاوظ... ) ر ف ١ ش ذىا ١ ف ششاء ا ؼذ ٠ ذ ز األج ضج. االذظاالخ : ذغ االذظاالخ ت ١ غرخذ ا شثىح خالي ا ثش ٠ ذ اال ىرش ا شعائ ا ف س ٠ ح انر افميح : رغ ١ ػ ١ ح ط ١ ا ح ا ثش ج ١ اخ ا رطث ١ ماخ ح ١ س ٠ ر ذحذ ٠ س ا ثش ج ١ اخ شوض ٠ ا أ ٠ م ذ ٠ ش ظ ا ؼ اخ ٠ ؼ ػ ذؼذ ٠ ا ثش ج ١ اخ ا ج دج ػ ا خذ Server فمط. األي : ٠ ؼرثش ا ا شثىح غا ٠ ح ف األ ١ ح ار ٠ حراض ا غرخذ إ حغاب خاص ذخ ي إ ا شثىح ٠ جة العرخذا أ سد ا شثىح اعرخذا و ح ش س اع ا حغاب.و ا ٠ ى غ تؼغ ا غرخذ ١ ا ذخ ي إ تؼغ األج ضج ف أ لاخ حذدج..1.2.3.4.5.6 ~ 21 ~
7. انذخ ل إنى اال رز د : تؼذ ذ ف ١ ش ا ثش ج ١ اخ األج ضج ٠ ى غرخذ ١ ا ذخ ي إ اال رش د ا شثىح ا ذاخ ١ ح ط ي إ و ػخ ا ؼ اخ ا ثش ج ١ اخ اإلػاف ١ ح. يك اخ انشثكاخ األطاطيح ى اخ اد ٠ ح Hardware : ا خاد :Server ا حاعة ا خاص ترشغ ١ ا شثىح ٠ مذ خذ اخ ى األج ضج ا ج دج ػ ا شثىح ص ذخض ٠ ا فاخ إداسج ا غرخذ ١ ا رأ ١ إداسج ا ظا حطاخ ا ؼ Work Stations احذ أج ضج ا ى ث ١ ذش ا رظ ح تا شثىح ذؼ إ ا ت ظا Windows ا.Macintosh وش خ االذظاي Network Interface Card ا هاتالخ ع ١ ح ستط ج اص ا ى ث ١ ذش تا شثىح إ ا أ صة ذح ػ M.B )ا حح األ ). األعالن ا غرخذ ح شتط ا خاد غ حطاخ ا ؼ أ ٠ ى وش خ ج فظ ػ ا ج اص.1.2.3.4.5 ا شى ) 2-4 ( ا ىاتالخ 6. ى اخ غ ١ ش اد ٠ ح Software ~ 22 ~
أ ظ ح Dos Win3.1 ذى ذذػ ذطث ١ ماخ ا شثىاخ إ ا إطذاساخ ا ٠ ذ ص ا را ١ ح ذؼ ظ ا شثىاخ. انشثكاخ ان ذهيح: (computer network) (workstations) (software) (hardware) (chat). (Email) (protocol) (packets). (transmission medium) : ~ 23 ~
(contetation): (collision). : (carrier sensing): o. (carrier detection): o. CSMA/CD (carrier sense multiple access collision detect) (Ethernet). (token passing): (token).(token ring protocol). (token passing) - (contention) ~ 24 ~
(unicast) (multicasting) (broadcasting). ~ 25 ~
الفصل الثالث أهه األصياف املستخدمة يف برجمة الشبكات ظط حاخ ا فظ ى اخ أط اف تش ذ و ي ا TCP تش ذ و ي ا UDP طثماخ ا شثىاخ ا Socket غ ١ ش ا رضا ح تش جح ا Socket ا غ ١ ش رضا ح د اي ىرثح ا I O/ ف Threading ~ 26 ~
أ ى ان ظطهذاخ ان ظرخذيح في ان شز ع Socket CPU : Thread Server Server Client Stream RAM انثز ذ ك الخ protocol( :. zayedalbadanee@yahoo.com ~ 27 ~
UDP TCP UDP TCP zayedalbadanee@yahoo.com TCP : TcpClient ~ 28 ~
TcpClient TCP Socket port : : TCPClient : TCP : TCPClient ~ 29 ~
TimeOut TimeOut : TcpListener TcpListener zayedalbadanee@yahoo.com :TcpListener ~ 30 ~
:TcpListener UDP UDPClient zayedalbadanee@yahoo.com ~ 31 ~
Socket Socket ~ 32 ~
TCP Socket Socket MySocket = new Socket(AddressFamily.InterNetwork, SocketType. Dgram, ProtocolType.Udp); IPEndPoint ip = new IPEndPoint(IPAddress.Any, 5020); MySocket.Bind(ip) ~ 33 ~
MySocket.Listen(-1); MySocket.Accept(); byte[]received=new byte[1024]; MySocket.Receive(Received); zayedalbadanee@yahoo.com String str = Console.ReadLine(); ASCIIEncoding amen = new ASCIIEncoding(); byte[] msg = asen.getbytes(str); Socket MySocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint remote = new IPEndPoint(IPAddress.Parse("192.168.1.101"), 5020); MySocket.Connect(remote); MySocket.Send(msg); MySocket.Close(); ~ 34 ~
UDP Socket Socket MySocket = new Socket(AddressFamily.InterNetwork, SocketType. Dgram, ProtocolType.Udp); IPEndPoint sender = new IPEndPoint(IPAddress.Any,5020); MySocket.Bind(sender); ~ 35 ~
int recv; byte[] data = new byte[1024]; Endpoint Remote = (Endpoint) (sender); recv = newsock.receivefrom(data, ref Remote); Console.WriteLine(Encoding.ASCII.GetString(data,0,recv)); : string welcome = "Hello All"; data = Encoding.ASCII.GetBytes(welcome); newsock.sendto(data, data.length, SocketFlags.Broadcast, Remote); Socket IPAddress newaddress = IPAddress.Parse("192.168.1.1") ~ 36 ~
IPEndPoint end = new IPEndPoint(IPAddress.Parse("192.168.1.1"), 5020); Socket. ~ 37 ~
Socket Socket Server Server Thread Socket system.net.socket socket Begin zayedalbadanee@yahoo.com ~ 38 ~
Socket BeginAccept Server End Accept client Socket IPEndPoint Socket BeginAccept Socket Server BeginSend End Begin BeginReceive ~ 39 ~
Thread Stream zayedalbadanee@yahoo.com I /O Byte Binary Data Synchronous Stream IO Streams Asynchronous Magnetic Tape ÜFloppy Disk Real Time Systems ~ 40 ~
Asynchronous thread End Begin EndWrite BeginRead BeginWrite EndRead Stream Streams System.IO Buffered tream FileStream Stream NetworkStream Stream zayedalbadanee@yahoo.com MemoryStream ~ 41 ~
Streaming Buffering Buffering Buffer NetworkStream BufferedStream BufferedStream 4096 bytes ~ 42 ~
Buffring Stream Buffer Flush zayedalbadanee@yahoo.com ~ 43 ~
: Stream byte Stream Stream ASCIIEncoding Byte ~ 44 ~
Byte GetCharCount :Threading ~ 45 ~
CPU.Net (User Threading Thread Form ~ 46 ~
Thread Thread Thread Thread zayedalbadanee@yahoo.com Thread ~ 47 ~
Thread Thread Thread zayedalbadanee@yahoo.com Thread ~ 48 ~
Thread set get Name set get. get get get set get ~ 49 ~
d zayedalbadanee@yahoo.com d get Multithreading ~ 50 ~
( ~ 51 ~
zayedalbadanee@yahoo.com ~ 52 ~
الفصل الرابع تصنيه اليظاو 1 ) ) ػ ١ ح إسعاي ا ض ػ ١ ح اعرمثاي ا ض ػ ١ ح إسعاي ا ض ج ػح ػثش تش ذ و يUDB ػ ١ ح اعرمثاي ض ػثش تش ذ و يUDB ػ ١ ح إسعاي ا فاخ ػ ١ ح اعرمثاي ا فاخ ػ ١ ح ا شالثح zayedalbadanee@yahoo.com ~ 53 ~
zayedalbadanee@yahoo.com ~ 54 ~
ػ هيح إرطال ض : Server Client وراتح ا ض ا شاد إسعا اعرمثاي ا ض ػشػ ا ثذء تئسعاي ا ض send zayedalbadanee@yahoo.com ~ 55 ~
void send(string msg,string ip) // overloading method { try { TcpClient myclient = new TcpClient(ip, 8000); NetworkStream myns = myclient.getstream(); StreamWriter mysw = new StreamWriter(myns); mysw.write(msg); mysw.close(); myns.close(); myclient.close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } msg string send ipaddrees ip 8000 Tcpclient port port port myns Networkstream ~ 56 ~
Getstream myns msg Mysw.writer StreamWriter ػ هيح اطرمثال ان ض : TcpListener Network stream port string stream reader settext string Thread public void text_receiver() { tcp = new TcpListener(IPAddress.Any,8000); tcp.start(); sock = tcp.acceptsocket(); ns = new NetworkStream(sock); sr = new StreamReader(ns); string x = sr.readtoend(); ~ 57 ~
i++; this.settext(x); MessageBox.Show(x, سعا ح"," اسد MessageBoxButtons.OK, MessageBoxIcon.Exclamation); tcp.stop(); while (true) { text_receiver();} private void SetText(string text) { if (this.datagridview1.invokerequired) { SetTextCallback d = new SetTextCallback(SetText); this.invoke(d, new object[] { text }); } else { MessageBox.Show(text); } } zayedalbadanee@yahoo.com ~ 58 ~
ػ هيح إرطال ض ن ج ػح ػ طزيك تز ذ ك ل الUDP : Server Client1 اعرمثاي ا ض ػشػ وراتح ا ض ا شاد إسعا Client2 اعرمثاي ا ض ػشػ ا ثذء تئسعاي ا ض Client3 اعرمثاي ا ض ػشػ TCP TCP UDP TCP ~ 59 ~
UnicodeEncoding cod = new UnicodeEncoding(); Socket server = new Socket(AddressFamily.InterNetwork,SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Parse("224.100.0.1"),5020); byte[] data = cod.getbytes(textbox1.text); server.sendto(data, iep); server.close(); Socket server UDP AddressFamily UDP SocketType Dgram UDP ProtocolType Byte ػ هيح اطرمثال ض ػ طزيك تز ذ ك ل الUDP : UDP ~ 60 ~
string sockt string void recive() { try { UnicodeEncoding cod = new UnicodeEncoding(); sock = new UdpClient(5020); sock.joinmulticastgroup(ipaddress.parse("224.100.0.1")); IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0); byte[] data = sock.receive(ref iep); } } string s = Convert.ToString(cod.GetString(data)); Array.Clear(data, 0, data.length); sock.close(); MessageBox.Show(s); textbox1.text = s; while (true) { recive(); } } catch { }; Thread myth2; private void Form1_Load(object sender, EventArgs e) { myth2 = new Thread(new System.Threading.ThreadStart(recive)); myth2.start(); UDP port socket 5020 (IPAddress.Parse("224.100.0.1") ~ 61 ~
sockt byte string string string sockt thread thread Thread ~ 62 ~
ػ هيح إرطال ان هفاخ Server Client ذحذ ٠ ذ ا ف ا شاد إسعا اعرمثاي ا ف حفظ ا ثذء تئسعاي ا ف zayedalbadanee@yahoo.com { private void send(string ip) try { FileStream fs = new FileStream(textBox1.Text, FileMode.Open); byte[] buffer = new byte[fs.length]; int len = (int)fs.length; fs.read(buffer, 0, len); fs.close(); BinaryFormatter br = new BinaryFormatter(); ~ 63 ~
TcpClient myclient = new TcpClient(ip, 7000); NetworkStream myns = myclient.getstream(); br.serialize(myns, FileName); BinaryWriter mysw = new BinaryWriter(myns); mysw.write(buffer); mysw.close(); myns.close(); myclient.close(); اسعاي ا ف") MessageBox.Show,"...ذ "SuccessFully", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { MessageBox.Show(ex.Message); } } binary FileStream byte byte NetworkStream TcpClient NetworkStream ~ 64 ~
ػ هيح اطرمثال ان هفاخ: ~ 65 ~ و د االعرمثاي : NetworkStream myns; TcpListener mytcpl; Socket mysocket; Thread myth; BinaryReader bb; int x = 0; #region File_Recriver() void File_Receiver() { try{ mytcpl = new TcpListener(IPAddress.Any,7000); mytcpl.start(); mysocket = mytcpl.acceptsocket(); myns = new NetworkStream(mysocket); BinaryFormatter br = new BinaryFormatter(); object op; op = br.deserialize(myns); // Deserialize the Object from Stream x = 0; bb = new BinaryReader(myns); byte[] buffer = bb.readbytes(50000000); FileStream fss = new FileStream(@textBox1.Text + (string)op, FileMode.CreateNew, FileAccess.Write); fss.write(buffer, 0, buffer.length); fss.close(); mytcpl.stop();," اسد ف","' "+"' ا ف اعرال ذ MessageBox.Show((string)op+" MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
} } if (mysocket.connected == true) { while (true) { File_Receiver(); } } port socket NetworkStream object NetworkStream NetworkStream BinaryReader BinaryReader FileStream byte FileStream ػ هيح يزالثح األج شج :- ~ 66 ~
Server Client اعرمثاي ا شفشج إسعاي شفش ؼ ١ ذح ١ ا إسعاي ط سج غطح ا ىرة اعرمثاي ط سج عطح ا ىرة ػشػ ا void rec() { try { tcp1.start(); ns1 = new NetworkStream(soc); picturebox1.image = Image.FromStream(ns1); tcp1.stop(); while (true) ~ 67 ~
} { rec(); } } catch {}; Socket NetworkStream Stream PictureBox.Imag rec(); thread thread ~ 68 ~
timer timer RAM timer byte API Capture Screen Reference GetDesktopImage() byte MemoryStream() byte zayedalbadanee@yahoo.com ~ 69 ~
TcpClient myclient; MemoryStream ms; NetworkStream myns; BinaryWriter mysw; private void timer1_tick(object sender, EventArgs e) { try { ms = new MemoryStream(); CaptureScreen.CaptureScreen.GetDesktopImage().Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] arrayimage = ms.getbuffer(); myclient = new TcpClient("localhost", 2000); myns = myclient.getstream(); mysw = new BinaryWriter(myns); mysw.write(arrayimage); ms.flush(); myns.flush(); mysw.flush(); ms.close(); myns.close(); mysw.close(); } catch { } zayedalbadanee@yahoo.com ~ 70 ~
الفصل اخلامس تصنيه اليظاو 2 ) ) ػ ١ ح ػشع ا ذسط لث ا ؼ : ػ ١ ح ػشع ا ذسط تاعرخذا إسعاي ط سج ػثش تش ذ و ي ا.TCP ػ ١ ح ػشع ا ذسط تاعرخذا إسعاي ط سج ػثش تش ذ و ي ا.UDP ػ ١ ح ػشع ا ذسط تاعرخذا ل اخ ا.TCP ػ ١ ح اعرخذا ج اص ا طا ة. ػ ١ ح ذج ١ ذ فه ذج ١ ذ ا ا ط حح ا فاذ ١ ح. ػ ١ ح إ ٠ ماف إػادج ذشغ ١ ج اص ا ى ث ١ ذش. zayedalbadanee@yahoo.com ~ 71 ~
ػ هيح ػزع انذرص ي لثم ان ؼهى أ ال ػزع انذرص تاطرخذاو إرطال ط رج ػثز تز ذ ك ل : TCP UDP ~ 72 ~
ثا يا ػ هيح ػزع انذرص تاطرخذاو إرطال ط رج ػثز تز ذ ك ل : UDP byte[] arrimage Bitmap bt = new Bitmap(CaptureScreen.CaptureScreen.GetDesktopImage()); picturebox1.image = ResizeBitmap(bt, 500, 400); MemoryStream ms = new MemoryStream(); picturebox1.image.save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); arrimage = ms.getbuffer(); ms.close(); Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint iep = new IPEndPoint(IPAddress.Parse("225.100.0.1"), 5020); server.sendto(arrimage, iep); Array.Clear(arrImage, 0, arrimage.length); ms.flush(); ms.close(); server.close(); Bitmap bt RAM zayedalbadanee@yahoo.com ~ 73 ~
Byte soket 225,100,01 UdpClient sock = new UdpClient(5020); sock.joinmulticastgroup(ipaddress.parse("225.100.0.1")); IPEndPoint iep = new IPEndPoint(IPAddress.Any, 0); data = sock.receive(ref iep); MemoryStream ms = new MemoryStream(data); picturebox1.image = Image.FromStream(ms); sock.close(); Array.Clear(data, 0, data.length); ms.flush(); ms.close(); Udpclient byte RAM ~ 74 ~
ػزع انذرص تاطرخذاو ل اخ انTCP : TCP chan = new TcpChannel(2500); ChannelServices.RegisterChannel(chan, false); RemotingConfiguration.RegisterWellKnownServiceType(Type.GetType("ScreenCaptur e, ScreenCapture"), "MyCaptureScreenServer", WellKnownObjectMode.Singleton); TcpChannel ~ 75 ~
Server Client اطرمثال اإلشارج ذذهيه ا فرخ ل اج ذظ خ تأخذ ط رج ططخ ان كرة طذة ط ر ي إرطال إشارج يؼي ح انServer URI = "Tcp://"+this.Tag+":6600/MyCaptureScreenServer"; chan1 = new TcpChannel(); ChannelServices.RegisterChannel(Program.c2,false); obj = ( ScreenCapture)Activator.GetObject(typeof(ScreenCapture), URI); TcpChannel ScreenCapture obj; byte[] buffer = obj.getdesktopbitmapbytes(); MemoryStream ms = new MemoryStream(buffer); picturebox1.image = Image.FromStream(ms); byte ~ 76 ~
. ػ هيح اطرخذاو انج اس )ج اس انطانة( Server Client فرخ ل اج ذظ خ تاطرخذاو انج اس اطرمثال انشفزاخ ان زطهح ذ فيذ ا اطرخذاو انم اج ان فر دح انثذء ت:... 1. طذة ط رج نظطخ ان كرة ي ج اس انطانة 2. إرطال شفزاخ انرذكى انى ج اس انطانة public control() { InitializeComponent(); } [DllImport("user32.dll")] private static extern uint MapVirtualKey( uint ucode, // virtual-key code or scan code uint umaptype // translation to perform ); ~ 77 ~
string URI; ScreenCapture obj; TcpChannel chan1; bool connected; void start() { try { URI = "Tcp://"+this.Tag+":6600/MyCaptureScreenServer"; chan1 = new TcpChannel(); ChannelServices.RegisterChannel(chan1,false); obj = (ScreenCapture)Activator.GetObject(typeof(ScreenCapture), URI); connected = true; timer1.enabled = true; } catch (Exception) { stop(); }; } void stop() { try { timer1.enabled = false; connected = false; this.formborderstyle = FormBorderStyle.Sizable; // Normal Size Mode this.windowstate = FormWindowState.Normal; ChannelServices.UnregisterChannel(chan1);//to Un Register chan Channel } catch (Exception) { } } private void control_load(object sender, EventArgs e) { start(); } private void picturebox1_mousedown(object sender, MouseEventArgs e) { if (connected == true) ~ 78 ~
} { } obj.pressorreleasemousebutton(true, e.button == MouseButtons.Left, e.x, e.y); private void picturebox1_mousemove(object sender, MouseEventArgs e) { if (connected == true) { obj.movemouse(e.x, e.y); } } private void picturebox1_mouseup(object sender, MouseEventArgs e) { if (connected == true) { obj.pressorreleasemousebutton(false, e.button == MouseButtons.Left, e.x, e.y); } } private void control_keydown(object sender, KeyEventArgs e) { if (connected == true) { e.handled = true; obj.sendkeystroke((byte)e.keycode, (byte)mapvirtualkey((uint)e.keycode, 0), true, false); } } private void control_keyup(object sender, KeyEventArgs e) { if (connected == true) { e.handled = true; obj.sendkeystroke((byte)e.keycode, (byte)mapvirtualkey((uint)e.keycode, 0), false, false); } } Form1 f; private void control_formclosing(object sender, FormClosingEventArgs e) ~ 79 ~
{ } this.stop(); try { if (f.kk == 1) chan1 = new TcpChannel(2500); } catch { }; private void timer1_tick(object sender, EventArgs e) { try { byte[] buffer = obj.getdesktopbitmapbytes(); MemoryStream ms = new MemoryStream(buffer); picturebox1.image = Image.FromStream(ms); } catch (Exception ex ) { MessageBox.Show(ex.Message); }; } private void textbox1_keydown(object sender, KeyEventArgs e) { if (connected == true) { e.handled = true; obj.sendkeystroke((byte)e.keycode, (byte)mapvirtualkey((uint)e.keycode, 0), true, false); } } private void textbox1_keyup(object sender, KeyEventArgs e) { if (connected == true) { e.handled = true; obj.sendkeystroke((byte)e.keycode, (byte)mapvirtualkey((uint)e.keycode, 0), false, false); } ~ 80 ~
byte ~ 81 ~
ػ هيح ذج يذ فك ذج يذ ان ا ص ن دح ان فاذيخ: zayedalbadanee@yahoo.com [System.Runtime.InteropServices.DllImport("user32", EntryPoint = "BlockInput", ExactSpelling = true, CharSet = System.Runtime.InteropServices.CharSet.Ansi, SetLastError = true)] user32 private static extern long BlockInput(bool fblock) ~ 82 ~
BlockInput(false); BlockInput(true); ػ هيح إيماف إػادج ذشغيم ج اس انك ثي ذز: System.Diagnostics.Process.Start("shutdown", "/s /f /t 00"); s f t System.Diagnostics.Process.Start("Shutdown", "-r /f /t 00"); - r ~ 83 ~
الفصل السادس االستيتاجات والتوصيات ١ ضاخ ا ظا االعر راجاخ ا ر ط ١ اخ ا مرشحاخ سعا ح شىش ا شاجغ zayedalbadanee@yahoo.com ~ 84 ~
User friendly ~ 85 ~
~ 86 ~
شكر و عرفان ي باب ق نو عهيو انصالة انسالو ي ال يشكس انناس ال يشكس اهلل يسعد ا أ ) ( شكس ي بعد اهلل ت فيقو عهينا كم ي ساىى يف يساعدتنا نالزتقاء هبرا املشس ع ان ص ل هلره اننتيجت انيت صهنا إنييا اآل, خنص بانركس 0 األستاذ اندكت ز / زشاد عبد اهلل اجل يف اندكت ز / اشسف انسيسي األستاذ / األستاذ بهيغ اهلاليل / أكسو احلداد األستاذ / محزة انصيادي ك ا شكس ك م أستاذ قدو يد انع ننا خالل انع م يف ىرا املشس ع. zayedalbadanee@yahoo.com ~ 87 ~
SocketCoder.Com C# zayedalbadanee@yahoo.com ~ 88 ~
املالحق XP zayedalbadanee@yahoo.com ~ 89 ~
NETWORK MEDIA NETWORK HUB, Cross over straight ~ 90 ~
, straight cross (RJ-45) ~ 91 ~
(UTP crimping tool) cross over straight zayedalbadanee@yahoo.com ~ 92 ~
zayedalbadanee@yahoo.com ~ 93 ~
zayedalbadanee@yahoo.com ~ 94 ~
Network IP's number control panel connectoin ~ 95 ~
zayedalbadanee@yahoo.com ~ 96 ~