1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng chatroom với aspnet ứng dụng arp trên mạng lan

43 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 901,58 KB

Nội dung

Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN LỜI CẢM ƠN Lời luận văn cho phép em bày tỏ lòng cảm ơn sâu sắc thầy giáo ThS Đỗ Ngọc Điệp thầy PGS.TS Hồ Sĩ Đàm bảo tận tình đầy trách nhiệm cho ý kiến đạo suốt q trình làm khóa luận, động viên, tạo điều kiện thuận lợi để em hoàn thành khóa luận Em xin chân thành cảm ơn thầy, cô khoa Công nghệ ,những người truyền đạt kiến thức bổ ích lý thú giúp ích cho em đường học tập Chân thành cảm ơn lãnh đạo trường Đại học Hịa Bình tạo điều kiện thuận lợi hỗ trợ em suốt trình học tập, cung cấp nhiều tư liệu kiến thức nghiệp vụ giúp cho khóa luận em có kết tốt Trong trình thực tập, trình làm khóa luận, khó tránh khỏi sai sót, đồng thời trình độ lý luận kinh nghiệm thực tiễn cịn hạn chế nên khóa luận khơng thể tránh khỏi thiếu sót, em mong nhận ý kiến đóng góp, lời bảo tận tình q Thầy Cô Em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2014 Sinh viên Nguyễn Thế Tuấn Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN MỤC LỤC DANH SÁCH CÁC TỪ VIẾT TẮT DANH MỤC BẢNG BIỂU DANH MỤC HÌNH ẢNH TÓM TẮT KHÓA LUẬN CHƯƠNG 1: TỔNG QUAN-LÝ THUYẾT CƠ SỞ 1 Mục đích xây dựng chatroom: Đối tượng, phạm vi nghiên cứu: Lý thuyết liên quan: 3.1 Giao thức ARP(Address Resolution Protocol) 3.2 ASP.NET 3.3 Ứng dụng ARP thông qua ASP.NET(C#) Tổng kết 15 CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG CÀI ĐẶT PHẦN MỀM CHAT TRÊN MẠNG LAN 16 Phân tích thiết kế phần mềm 16 1.1 Yêu cầu đề ra: 16 1.2 Mơ hình hệ thống: .16 1.3 Phân tích: 17 1.4 Thiết kế giao diện: .19 1.5 Code chương trình: 21 Kết luận 31 CHƯƠNG 3: CÀI ĐẶT-HƯỚNG DẪN SỬ DỤNG PHẦN MỀM 31 Cài đặt phần mềm: 31 Hướng dẫn sử dụng phần mềm: .32 2.1 Hướng đẫn sử dụng Server: .32 2.2 Client: 34 Kết luận 35 KẾT LUẬN 36 TÀI LIỆU THAM KHẢO 37 Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN DANH SÁCH CÁC TỪ VIẾT TẮT Từ viết tắt ASP.NET LAN ARP IP MAC ASP CLR Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Ý nghĩa từ viết tắt ASP Net framework Local Area Network Address Resolution Protocol Internet Protocol Media Access Control Active Server Pages Common Language Runtime Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN DANH MỤC BẢNG BIỂU Bảng 1: Các thành phần lớp IpAddress Bảng 2: Các thành viên lớp IpEndPoint Bảng 3: Các thành viên lớp UDPClient Bảng 4: Các thành phần lớp TcpClient Bảng 5: Các thành phần lớp TcpListener Bảng 6: Các thành phần lớp TcpListener Bảng 7: Các thành phần tĩnh lớp Thread Bảng 8: Các thành viên cấp đối tượng lớp Thread Bảng 9: Các thuộc tính Structer Bảng 10: Các hàm khởi tạo Structer Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN DANH MỤC HÌNH ẢNH Hình 1: Minh họa hoạt động ARP Hình 2: Ví dụ hoạt động ARP Hình 3: Mơ hình Client- Server Hình 4: Mơ tả q trình làm việc chương trình Hình 5: Giao diện Server Hình 6: Giao diện Client(1) Hình 7: Giao diện Client(2) Hình 8: Cài đặt chương trình Hình 9: Server-1 Hình 10: Server-2 Hình 11: Server-3 Hình 12: Client-1 Hình 13: Client-2 Hình 14: Client-3 Hình 15: Client-4 Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN TÓM TẮT KHÓA LUẬN Đề tài khóa luận “Xây dựng Chatroom với ASP.NET - ứng dụng ARP mạng LAN” gồm nội dung sau: Chương 1: Tổng quan lý thuyết sở Mục đích xây dựng chatroom Đối tượng phạm vi nghiên cứu Lý thuyết liên quan Kết luận Chương 2: Phân tích – xây dựng – cài đặt phần mềm chat mạng LAN Phân tích hệ thống Kết luận Chương 3: Cài đặt - hướng dẫn sử dụng phần mềm 3.1 Cài đặt phần mềm 3.2 Hướng dẫn sử dụng phần mềm 3.3 Kết luận Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN CHƯƠNG 1: TỔNG QUAN-LÝ THUYẾT CƠ SỞ Mục đích xây dựng chatroom: Trong thời đại công nghệ thông tin phát triển mạnh mẽ, ứng dụng rộng khắp lĩnh vực sống, công việc Nhu cầu giao tiếp người người đa dạng Để đáp ứng điều nhà phát triển phần mềm xây dựng chương trình Chat ứng dụng mạng xã hội Trong yahoo,Skype,Facebook.v.v phần mềm sử dụng thường xuyên gia đình, doanh nghiệp Tuy nhiên, hệ thống mạng cục phát triển mạnh mẽ nhu cầu giao tiếp mạng thiết hơn, với vấn đề bảo mật phần mềm sử dụng mạng Internet khơng đảm bảo Vì xây dựng Chatroom mạng cục LAN phù hợp để đáp ứng điều Đối tượng, phạm vi nghiên cứu: - Giao thức ARP - Sử dụng ASP.NET xây dựng phần mềm ứng dụng giao thức ARP Lý thuyết liên quan: 3.1 Giao thức ARP(Address Resolution Protocol) 3.1.1 Định nghĩa: - ARP phương thức phân giải địa động địa lớp Network địa lớp datalink Quá trình thực cách: thiết bị IP mạng gửi gói tin broadcast đến toàn mạng yêu cầu thiết bị gửi trả lại địa phần cứng - Ban đầu ARP sử dụng mạng Ethernet để phân giải IP địa MAC Nhưng ngày ARP ứng dụng rộng rãi dựa công nghệ khác dựa lớp hai 3.1.2 Cơ chế hoạt động ARP mạng LAN: Khi thiết bị mạng muốn biết địa MAC thiết bị mạng mạng LAN gửi ARP Request bao gồm địa MAC Address địa IP thiết bị mà cần biết MAC Address tồn miền Broadcast Mỗi thiết bị nhận Request so sánh địa IP Request với địa tầng Network Nếu trùng địa thiết bị phải gửi ngược lại cho thiết bị gửi ARP Request gói tin (trong có chứa địa Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN MAC nó) Lúc này, thiết bị A biết MAC address máy tính cần gửi thiết bị A bắt đầu truyền thông tin với thiết bị B a) Các loại tin ARP: Có dạng tin ARP: gửi từ nguồn tới đích gửi từ đích tới nguồn: - Request: khởi tạo q trình, gói tin gửi từ thiết bị nguồn tới thiết bị đích - Reply: q trình đáp trả gói tin ARP request, gửi từ máy đích tới máy nguồn b) Các địa tin ARP: - Sender Hardware Address: địa lớp hai thiết bị gửi tin - Sender Protocol Address: địa lớp ba(địa logic) thiết bị gửi tin - Target Hardware Address: địa lớp hai(địa phần cứng) thiết bị đích tin - Target Protocol Address: địa lớp ba thiết bị đích tin c) Các bước hoạt động ARP: Bước - Source Device Checks Cache: bước này, thiết bị kiểm tra cache(bộ đệm) mình, có IP đích tương ứng với MAC chuyển bước Bước - Source Device Generates ARP Request Message: bắt đầu khởi tạo gói tin ARP Request với trường địa Bước - Source Device Generates ARP Request Message: bắt đầu khởi tạo gói tin ARP Request với trường địa Bước - Local Device Process ARP Request Message: Các thiết bị mạng nhận gói tin ARP request Gói tin xử lý cách thiết bị nhìn vào trường địa Target Protocol Address Nếu địa trùng với địa tiếp tục xử lý, khơng hủy gói tin Bước - Destination Device Generates ARP Reply Message: thiết bị trùng với IP trường Target Protocol Address bắt đầu khởi tạo gói tin ARP reply cách lấy trường Sender Hardware Address Sender Protocol Address gói tin ARP nhận đưa vào làm Target gói tin gửi Đồng thời Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN thiết bị lấy địa datalink để đưa vào trường Sender Hardware Address Bước - Destination Device Updates ARP Cache: thiết bị đích đồng thời cập nhật ánh xạ địa IP MAC thiết bị nguồn vào bảng ARP Cache để giảm bớt thời gian xử lý cho lần sau Bước - Destination Device Sends ARP Reply Message: thiết bị đích bắt đầu gửi gói tin Reply tạo tới địa nguồn Gói tin gửi gói tin unicast Bước - Source Device Processes ARP Reply message: thiết bị nguồn nhận gói tin Reply xử lý cách lưu trường Sender Hardware Address gói reply địa phần cứng thiết bị đích Bước - Source Update ARP cache: thiết bị nguồn update vào ARP cache giá trị tương ứng địa network địa datalink thiết bị đích lần sau khơng cần tới request d) ARP Caching: - ARP giao thức phân giải địa động Q trình gửi gói tin request reply tiêu tốn băng thông mạng Chính hạn chế tối đa việc gửi gói tin Request Reply góp phần làm tăng khả hoạt động mạng Từ sinh nhu cầu ARP caching - ARP Cache có dạng giống bảng tương ứng địa hardware địa IP Có cách đưa thành phần tương ứng vào bảng ARP: + Static ARP Cache Entries: trình mà thành phần tương ứng bảng ARP đưa vào người quản trị Công việc tiến hành thủ cơng + Dynamic ARP cache Entries: q trình mà thành phần địa hardware/IP đưa vào ARP cache cách tự động phần mềm sau hồn tất q trình phân giải địa Chúng lưu cache khoảng thời gian sau xóa - Ta xét trường hợp bảng cache thiết bị A, có chứa thông tin thiết bị B mạng Nếu thông tin cache lưu mãi, có số vấn đề sau xảy : + Địa phần cứng thiết vị đựoc thay đổi : Đây trường hợp thiết bị B thay đổi card mạng hay thiết bị giao tiếp, làm thay đổi địa MAC thiết bị Điều làm cho thông tin cache A không Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN + Địa IP thiết bị thay đổi : Người quản trị hay nhà cung cấp thay đổi địa IP B, làm cho thông tin cache A bị sai lệch + Thiết bị rút khỏi mạng : Khi B rút khỏi mạng A khơng biết, gây lãng phí tài nguyên A để lưu thông tin không cần thiết tốn thời gian để tìm kiếm - Vì vậy, thông tin dynamic cache tự động xóa sau khoảng thời gian định Quá trình thực cách hồn tồn tự động sử dụng ARP với khoảng thời gian thường 10 20 phút Sau khoảng thời gian định lưu cache , thông tin xóa Lần sử dụng sau, thơng tin update trở lại Hình 1: Minh họa hoạt động ARP Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN 1.5.2 frmServer.cs[Design] /// /// Required designer variable /// private System.ComponentModel.IContainer components = null; /// /// Clean up any resources being used /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - not modify /// the contents of this method with the code editor /// private void InitializeComponent() { this.rtbmain = new System.Windows.Forms.RichTextBox(); this.btnStart = new System.Windows.Forms.Button(); this.btnStop = new System.Windows.Forms.Button(); this.lblserver = new System.Windows.Forms.Label(); this.SuspendLayout(); // // rtbmain // this.rtbmain.Dock = System.Windows.Forms.DockStyle.Top; this.rtbmain.Location = new System.Drawing.Point(0, 0); this.rtbmain.Name = "rtbmain"; this.rtbmain.Size = new System.Drawing.Size(581, 310); this.rtbmain.TabIndex = 0; this.rtbmain.Text = ""; this.rtbmain.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.rtbmain_KeyPress); // // btnStart // this.btnStart.Location = new System.Drawing.Point(354, 316); this.btnStart.Name = "btnStart"; this.btnStart.Size = new System.Drawing.Size(91, 36); this.btnStart.TabIndex = 1; this.btnStart.Text = "Start"; this.btnStart.UseVisualStyleBackColor = true; this.btnStart.Click += new System.EventHandler(this.btnStart_Click); // // btnStop // this.btnStop.Location = new System.Drawing.Point(466, 316); this.btnStop.Name = "btnStop"; this.btnStop.Size = new System.Drawing.Size(82, 36); this.btnStop.TabIndex = 2; this.btnStop.Text = "Stop"; Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 23 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN this.btnStop.UseVisualStyleBackColor = true; this.btnStop.Click += new System.EventHandler(this.btnStop_Click); // // lblserver // this.lblserver.AutoSize = true; this.lblserver.Location = new System.Drawing.Point(23, 328); this.lblserver.Name = "lblserver"; this.lblserver.Size = new System.Drawing.Size(71, 13); this.lblserver.TabIndex = 3; this.lblserver.Text = "My IP Server:"; // // frmServer // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(581, 364); this.Controls.Add(this.lblserver); this.Controls.Add(this.btnStop); this.Controls.Add(this.btnStart); this.Controls.Add(this.rtbmain); this.Name = "frmServer"; this.Text = "Server"; this.Load += new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); this.PerformLayout(); } #endregion private private private private System.Windows.Forms.RichTextBox rtbmain; System.Windows.Forms.Button btnStart; System.Windows.Forms.Button btnStop; System.Windows.Forms.Label lblserver; } } 1.5.3 frmClient.cs using using using using using using using using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Net.Sockets; System.Text; System.Threading.Tasks; System.Windows.Forms; System.Net; System.Threading; myStructer; System.Runtime.Serialization.Formatters.Binary; System.Runtime.Serialization; System.Runtime.Serialization.Formatters; System.IO; namespace Client { public partial class frmClient : Form { public frmClient() { Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 24 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN CheckForIllegalCrossThreadCalls = false; InitializeComponent(); } Socket client; IPEndPoint ipe; Thread connect; private void btnConnect_Click(object sender, EventArgs e) { connect = new Thread(new ThreadStart(connectServer)); connect.IsBackground = true; connect.Start(); rtbMain.Text += "Bạn kết nối tới server:"+txtIp.Text+" ! \r\n"; } public void connectServer() { ipe = new IPEndPoint(IPAddress.Parse(txtIp.Text), 2001); client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); client.Connect(ipe); Thread listen = new Thread(listenData); listen.IsBackground = true; listen.Start(client); } public void listenData(object obj) { Socket sk = (Socket)obj; while (true) { byte[] buff = new byte[1024]; int recv = client.Receive(buff); Mahoa(buff); } } private void Mahoa(byte[] buff) { Structer str = new Structer(); MemoryStream strean = new MemoryStream(buff); BinaryFormatter bfomat = new BinaryFormatter(); str = (Structer)bfomat.Deserialize(strean); rtbMain.SelectionFont = new Font("Arial",8,FontStyle.Bold); rtbMain.SelectionColor = Color.Black; rtbMain.Text += str.Name+": "; rtbMain.SelectionFont = str.MyFont; rtbMain.SelectionColor = str.MyColor; rtbMain.Text += str.Textchat + "\r\n"; rtbMain.ScrollToCaret(); } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (fontDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { rtbChat.Font = fontDialog1.Font; } } Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 25 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (colorDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK) { rtbChat.ForeColor = colorDialog1.Color; } } private void btnSend_Click(object sender, EventArgs e) { Structer str = new Structer(); str.MyColor = rtbChat.ForeColor; str.MyFont = rtbChat.Font; str.Textchat = rtbChat.Text; str.Name = txtName.Text; MemoryStream stream = new MemoryStream(); BinaryFormatter bfomat = new BinaryFormatter(); bfomat.Serialize(stream, str); byte[] buff = new byte[1024]; buff = stream.ToArray(); client.Send(buff); rtbChat.Text = ""; } private void rtbMain_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = true; } private void rtbChat_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar==13) { Structer str = new Structer(); str.MyColor = rtbChat.ForeColor; str.MyFont = rtbChat.Font; str.Textchat = rtbChat.Text; str.Name = txtName.Text; MemoryStream stream = new MemoryStream(); BinaryFormatter bfomat = new BinaryFormatter(); bfomat.Serialize(stream, str); byte[] buff = new byte[1024]; buff = stream.ToArray(); client.Send(buff); rtbChat.Text = ""; } } } } 1.5.4 frmClient.cs[Design] namespace Client { partial class frmClient { /// /// Required designer variable /// private System.ComponentModel.IContainer components = null; Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 26 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN /// /// Clean up any resources being used /// /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// /// Required method for Designer support - not modify /// the contents of this method with the code editor /// private void InitializeComponent() { this.txtIp = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.btnConnect = new System.Windows.Forms.Button(); this.rtbMain = new System.Windows.Forms.RichTextBox(); this.btnSend = new System.Windows.Forms.Button(); this.rtbChat = new System.Windows.Forms.RichTextBox(); this.colorDialog1 = new System.Windows.Forms.ColorDialog(); this.fontDialog1 = new System.Windows.Forms.FontDialog(); this.linkFont = new System.Windows.Forms.LinkLabel(); this.linkColor = new System.Windows.Forms.LinkLabel(); this.label2 = new System.Windows.Forms.Label(); this.txtName = new System.Windows.Forms.TextBox(); this.SuspendLayout(); // // txtIp // this.txtIp.Location = new System.Drawing.Point(77, 12); this.txtIp.Name = "txtIp"; this.txtIp.Size = new System.Drawing.Size(184, 20); this.txtIp.TabIndex = 0; // // label1 // this.label1.AutoSize = true; this.label1.Location = new System.Drawing.Point(12, 15); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(67, 13); this.label1.TabIndex = 1; this.label1.Text = "IP SERVER:"; // // btnConnect // this.btnConnect.Location = new System.Drawing.Point(267, 9); this.btnConnect.Name = "btnConnect"; this.btnConnect.Size = new System.Drawing.Size(75, 23); this.btnConnect.TabIndex = 2; this.btnConnect.Text = "Connect"; this.btnConnect.UseVisualStyleBackColor = true; this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click); // Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 27 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN // rtbMain // this.rtbMain.Location = new System.Drawing.Point(0, 45); this.rtbMain.Name = "rtbMain"; this.rtbMain.Size = new System.Drawing.Size(548, 205); this.rtbMain.TabIndex = 3; this.rtbMain.Text = ""; this.rtbMain.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.rtbMain_KeyPress); // // btnSend // this.btnSend.Location = new System.Drawing.Point(461, 277); this.btnSend.Name = "btnSend"; this.btnSend.Size = new System.Drawing.Size(75, 40); this.btnSend.TabIndex = 4; this.btnSend.Text = "Send"; this.btnSend.UseVisualStyleBackColor = true; this.btnSend.Click += new System.EventHandler(this.btnSend_Click); // // rtbChat // this.rtbChat.Location = new System.Drawing.Point(0, 277); this.rtbChat.Name = "rtbChat"; this.rtbChat.Size = new System.Drawing.Size(443, 40); this.rtbChat.TabIndex = 5; this.rtbChat.Text = ""; this.rtbChat.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.rtbChat_KeyPress); // // fontDialog1 // this.fontDialog1.Color = System.Drawing.SystemColors.ControlText; // // linkFont // this.linkFont.AutoSize = true; this.linkFont.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.linkFont.Location = new System.Drawing.Point(11, 257); this.linkFont.Name = "linkFont"; this.linkFont.Size = new System.Drawing.Size(36, 17); this.linkFont.TabIndex = 6; this.linkFont.TabStop = true; this.linkFont.Text = "Font"; this.linkFont.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); // // linkColor // this.linkColor.AutoSize = true; this.linkColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.linkColor.Location = new System.Drawing.Point(53, 257); this.linkColor.Name = "linkColor"; this.linkColor.Size = new System.Drawing.Size(41, 17); this.linkColor.TabIndex = 7; this.linkColor.TabStop = true; this.linkColor.Text = "Color"; Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 28 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN this.linkColor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked); // // label2 // this.label2.AutoSize = true; this.label2.Location = new System.Drawing.Point(359, 13); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(63, 13); this.label2.TabIndex = 8; this.label2.Text = "Your Name:"; // // txtName // this.txtName.Location = new System.Drawing.Point(424, 11); this.txtName.Name = "txtName"; this.txtName.Size = new System.Drawing.Size(100, 20); this.txtName.TabIndex = 9; // // frmClient // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(548, 330); this.Controls.Add(this.txtName); this.Controls.Add(this.label2); this.Controls.Add(this.linkColor); this.Controls.Add(this.linkFont); this.Controls.Add(this.rtbChat); this.Controls.Add(this.btnSend); this.Controls.Add(this.rtbMain); this.Controls.Add(this.btnConnect); this.Controls.Add(this.label1); this.Controls.Add(this.txtIp); this.Name = "frmClient"; this.Text = "Form1"; this.ResumeLayout(false); this.PerformLayout(); } #endregion private private private private private private private private private private private private System.Windows.Forms.TextBox txtIp; System.Windows.Forms.Label label1; System.Windows.Forms.Button btnConnect; System.Windows.Forms.RichTextBox rtbMain; System.Windows.Forms.Button btnSend; System.Windows.Forms.RichTextBox rtbChat; System.Windows.Forms.ColorDialog colorDialog1; System.Windows.Forms.FontDialog fontDialog1; System.Windows.Forms.LinkLabel linkFont; System.Windows.Forms.LinkLabel linkColor; System.Windows.Forms.Label label2; System.Windows.Forms.TextBox txtName; } } Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 29 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN 1.5.5 myStructer.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.Serialization; using System.Drawing; namespace myStructer { [Serializable()] public class Structer:ISerializable { private string _textchat; private string _name; public string Name { get { return _name; } set { _name = value; } } private Font _myFont; private Color _myColor; public Structer() { this.Textchat = null; this.MyFont = new Font("Arial",8,FontStyle.Regular); this.MyColor = Color.Red; this.Name = null; } public Structer(string text,Font ft, Color cl,string name) { this.Textchat = text; this.MyFont = ft; this.MyColor = cl; this.Name = name; } public Structer(Structer str) { this.Textchat = str.Textchat; this.MyFont = str.MyFont; this.MyColor = str.MyColor; this.Name = str.Name; } public void GetObjectData(SerializationInfo info,StreamingContext scxt) { info.AddValue("text", this.Textchat); info.AddValue("font", this.MyFont); info.AddValue("color", this.MyColor); info.AddValue("name", this.Name); } public Structer(SerializationInfo info, StreamingContext scxt) { this.Textchat = (string)info.GetValue("text",typeof(string)); this.MyFont=(Font)info.GetValue("font",typeof(Font)); this.MyColor = (Color)info.GetValue("color", typeof(Color)); this.Name = (string)info.GetValue("name", typeof(string)); } public Color MyColor { get { return _myColor; } set { _myColor = value; } Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 30 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN } public Font MyFont { get { return _myFont; } set { _myFont = value; } } public string Textchat { get { return _textchat; } set { _textchat = value; } } } } Kết luận Trong chương này, em sử dụng Socket ngơn ngữ lập trình ASP.NET để xây dựng Chatroom ứng dụng giao thức ARP mạng LAN CHƯƠNG 3: CÀI ĐẶT - HƯỚNG DẪN SỬ DỤNG PHẦN MỀM Cài đặt phần mềm: Sử dụng phần mềm publish từ chương trình để phân phối cài đặt Các bước cài đặt: - Click vào file setup - Chọn install Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 31 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN Hình 8: Cài đặt chương trình Hướng dẫn sử dụng phần mềm: 2.1 Hướng đẫn sử dụng Server: - Khởi động phần mềm Hình 9: Server-1 - Bấm Start để tạo server(bắt đầu lắng nghe kết nối từ client) Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 32 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN Hình 10: Server-2 Hình 11: Server-3 - Thông báo địa IP server cho client Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 33 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN 2.2 Hướng dẫn sử dụng Client: - Khởi động phần mềm Hình 12: Client-1 Hình 13: Client-2 - Nhập địa IP server, nhập tên vào textbox - Bấm Connect Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 34 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN Hình 14: Client-3 Hình 15: Client-4 - Bây bạn bắt đầu Chat với bạn bè Kết luận Trong chương em giới thiệu cách cài đặt sử dụng phần mềm phát triển từ dự án Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 35 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN KẾT LUẬN Trong trình nghiên cứu thực khóa luận mình, em hồn thành tìm hiểu: - Ngơn ngữ lập trình ASP.NET - Cách sử dụng phần mềm lập trình Visual Studio 2012 - Ứng dụng Socket lập trình - Cách thức hoạt động ARP mạng LAN cần thiết sống - Sử dụng ASP.NET xây dựng chatroom mạng LAN Thơng qua q trình nghiên cứu thực khóa luận em nhận nhiều kinh nghiệm bổ ích cho kỹ sống tương lai Hướng phát triển em nghiên cứu phát triển phần mềm Chat ứng dụng mạng Internet, cách thức hoạt động ARP Internet Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 36 Xây dựng Chatroom với ASP.NET ứng dụng ARP mạng LAN TÀI LIỆU THAM KHẢO Tài liệu: [1] Dương Quang Thiện, 2005, NET toàn tập [2] Nguyễn Ngọc Bình Phương, 2005, Các giải pháp lập trình C# [3] Sybex, 2003, C-Sharp Network Programming Các trang web: [1] http://www.codeproject.com/ [2] http://hocquantrimang.com/ Sinh viên: Nguyễn Thế Tuấn Giảng viên: Ths Đỗ Ngọc Điệp Page 37

Ngày đăng: 31/08/2023, 11:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w