xây dựng chương trình chat hoạt động trong mạng lan với các chức năng cơ bản như gởi tin nhắn, tạo một nhóm chat và lưu thông tin bạn bè

76 2.6K 3
xây dựng chương trình chat hoạt động trong mạng lan với các chức năng cơ bản như gởi tin nhắn, tạo một nhóm chat và lưu thông tin bạn bè

Đ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

Lời cảm ơn Em xin chân thành cảm ơn đến thầy Trần Phước Tuấn tận tình hướng dẫn em thời gian thực đồ án Em xin chân thành cảm ơn Khoa Toán – Tin học tạo điều kiện cho em thực tốt đồ án Xin chân thành cảm ơn bạn tận tình giúp đỡ để thực tốt đồ án TpHCM, ngày tháng năm 2009 Sinh viên Nguyễn Ngọc Duy Tuệ Trang MỤC LỤC Lời cảm ơn MỤC LỤC DANH SÁCH CÁC HÌNH VẼ Chương 1: DANH SÁCH CÁC BẢNG BIỄU Chương 2: Mở đầu 2.1 Lý chọn đề tài: .7 2.2 Mục đích đề tài: 2.3 Đối tượng phạm vi nghiên cứu 2.3.1 Đối tượng nghiên cứu 2.3.2 Phạm vi nghiên cứu Chương 3: KIẾN THỨC ỨNG DỤNG 3.1 Sơ lược lập trình Socket: 3.1.1 Khái niệm Địa cổng (Address & Port) 3.1.2 Lớp IPAddress 3.1.3 Lớp IPEndpoint 10 3.1.4 Lớp UDP 11 3.1.5 Lớp TCP (TCPClient) 13 3.1.6 Lớp TcpListener .16 3.2 Sơ lược lập trình đa luồng: 17 3.2.1 Khái niệm Luồng (Thread) 17 3.2.2 Khảo sát namespace System.Threading 18 3.2.2.1 Lớp Thread .19 3.2.2.2 Thao tác với luồng 21 3.2.3 Đồng hóa (Synchronization) lập trình đa luồng: 23 3.2.3.1 Đồng hóa .23 3.2.3.2 Deadlock 29 3.2.3.3 Race condition 31 Chương 4: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 33 4.1 Phân tích 33 4.1.1 Phân tích nhu cầu thực tiễn: .33 4.1.2 Yêu cầu đề ra: 33 4.1.3 Mơ hình liệu mức quan niệm: 34 4.1.4 Phân tích thành phần xữ lý: .35 4.1.4.1 Mơ hình luồng xử lý đăng nhập .35 4.1.4.2 Mơ hình luồng xử lý gởi tin nhắn 37 4.1.4.3 Mơ hình luồng xử lý FriendList .39 4.1.4.4 Mơ hình luồng xử lý Group Chat .41 4.2 Thiết kế lớp xữ lý .46 Trang 4.2.1 Lớp DataLayer: 46 4.2.2 Lớp MyDatabase: .47 4.2.3 Lớp ImageListBoxItem 48 4.2.4 Lớp ImageListBox: 49 4.2.5 Lớp Settings: 50 4.2.6 Lớp MultilineListBoxItem: 51 4.2.7 Lớp MultilineListBox: .51 4.2.8 Lớp TabControlEx: 52 4.2.9 LớpMyDataPack: .53 4.2.10 Lớp ClientHandler: 54 4.3 Một số qui tắc hàm xử lý .55 4.3.1 Qui tắc gởi liệu mạng: .55 4.3.2 Một số hàm xữ lý bản: 56 4.3.2.1 Hàm PackData 56 4.3.2.2 Hàm UnPackData .57 4.3.2.3 Hàm SaveSettings LoadSettings 59 4.3.2.4 Hàm theadListen .60 4.4 Thiết kế liệu .61 4.4.1 Chuẩn hóa liệu: 61 4.4.2 Mơ hình liệu mức vật lý: 61 4.4.3 Thiết kế liệu: .61 4.4.4 Mô tả ràng buộc toàn vẹn: 63 4.5 Thiết kế giao diện 64 4.5.1 Màn hình đăng nhập 64 4.5.2 Màn hình 65 4.5.3 Màn hình thêm Friend 65 4.5.4 Màn hình xóa Friend 66 4.5.5 Màn hình Chat With 66 4.5.6 Màn hình Invite Group .67 4.5.7 Màn hình Invite Another 67 4.5.8 Màn hình Settings 68 Chương 5: CÀI ĐẶT – THỬ NGHIỆM 69 5.1 Cài đặt chương trình .69 5.1.1 Cài đặt Server 69 5.1.2 Cài đặt Client 72 5.2 Hướng dẫn sử dụng 74 Chương 6: KẾT LUẬN 75 6.1 Kết đạt .75 6.2 Hướng phát triển .75 TÀI LIỆU THAM KHẢO .76 Trang DANH SÁCH CÁC HÌNH VẼ Hình 2-1: Kết chương trình khơng sử dụng đồng hóa 27 Hình 2-2: Kết chương trình sử dụng đồng hóa 29 Hình 3-3: Mơ hình liệu mức quan niệm 34 Hình 3-4: Mơ hình xử lý đăng nhập 35 Hình 3-5: Mơ hình xử lý đăng xuất 36 Hình 3-6: Mơ hình xử lý gởi tin nhắn Online 37 Hình 3-7: Mơ hình xử lý gởi tin nhắn Offline 38 Hình 3-8: Mơ hình xử lý thêm Friend 39 Hình 3-9: Mơ hình xử lý xóa Friend 40 Hình 3-10: Mơ hình xử lý tạo Group .41 Hình 3-11: Mơ hình xử lý đồng ý gia nhập Group 42 Hình 3-12: Mơ hình xử lý khỏi Group 43 Hình 3-13: Mơ hình xử lý hủy Group 44 Hình 3-14: Mơ hình xử lý gởi tin nhắn Group .45 Hình 3-15: Mơ hình lớp DataLayer 46 Hình 3-16: Mơ hình lớp MyDatabase 47 Hình 3-17: Mơ hình lớp ImageListBoxItem 48 Hình 3-18: Mơ hình lớp ImageListBox 49 Hình 3-19: Mơ hình lớp Settings 50 Hình 3-20: Mơ hình lớp MultilineListBoxItem .51 Hình 3-21: Mơ hình lớp TabControlEx 52 Hình 3-22: Mơ hình lớp MyDataPack .53 Hình 3-23: Mơ hình ClientHandler 54 Hình 3-24: Mơ hình liệu mức vật lý 61 Hình 3-25: Màn hình đăng nhập 64 Hình 3-26: Màn hình 65 Hình 3-27: Màn hình thêm Friend 65 Trang Hình 3-28: Màn hình xóa Friend 66 Hình 3-29: Màn hình Chat With 66 Hình 3-30: Màn hình Invite Group 67 Hình 3-31: Màn hình Invite Another .67 Hình 3-32: Màn hình Invite Another .68 Hình 4-33: Cài đặt Microsoft SQL Destop Engine 69 Hình 4-34: Cài đặt Server – Màn hình Customer Information 70 Hình 4-35: Cài đặt Server – Màn hình Destination Folder 71 Hình 4-36: Cài đặt Server – Màn hình SQL Login 72 Hình 4-37: Cài đặt Server – Màn hình Finish 72 Hình 4-38: Cài đặt Client – Màn hình Customer Information 73 Hình 4-39: Cài đặt Client – Màn hình Destination Folder 73 Hình 4-40: Cài đặt Client – Màn hình Finish 74 Trang Chương 1: DANH SÁCH CÁC BẢNG BIỄU Bảng 2-1: Các thành phần lớp IpAddress Bảng 2-2: Các thành viên lớp IpEndPoint 11 Bảng 2-3: Các thành viên lớp UDPClient 13 Bảng 2-4: Các thành phần lớp TcpClient 15 Bảng 2-5: Các thành phần lớp TcpListener .16 Bảng 2-6: Một số lớp namespace System.Threading 19 Bảng 2-7: Các thành phần static lớp Thread .19 Bảng 2-8: Các thành viên cấp đối tượng lớp Thread 20 Bảng 3-9: Mã nguồn hàm PackData 56 Bảng 3-10: Mã nguồn hàm UnPackData 57 Bảng 3-11: Mã nguồn hàm SaveSettings LoadSettings 59 Bảng 3-12: Mã nguồn hàm theadListen 60 Bảng 3-13: Table Users 62 Bảng 3-14: Table FriendList 62 Bảng 3-15: Table OfflineMessage 63 Bảng 3-16: Table GroupChat 63 Bảng 3-17: Table GroupDetail 63 1.1 Trang Chương 2: Mở đầu 2.1 Lý chọn đề tài: Hiện nay, mạng Lan có tiến vượt bậc ngày phổ biến đồi sống sinh hoat Điều làm cho nhu cầu liên lạc trao đổi thông tin thông qua mạng Lan ngày lớn Chính vậy, chương trình Chat mạng Lan xây dựng để đáp ứng phần nhu cầu cấp thiết 2.2 Mục đích đề tài: Xây dựng chương trình Chat hoạt động mạng Lan với chức như: gởi tin nhắn, tạo nhóm Chat lưu thông tin bạn bè 2.3 Đối tượng phạm vi nghiên cứu 2.3.1 Đối tượng nghiên cứu Tìm hiểu chế hoạt động Socket Thread NET Framwork từ viết ứng dụng Chat mạng Lan 2.3.2 Phạm vi nghiên cứu Chương trình Chat xây dựng với khả Chat văn User, thành lập nhóm Chat thơng qua điều khiển Server mạng Lan Trang Chương 3: KIẾN THỨC ỨNG DỤNG 3.1 Sơ lược lập trình Socket: 3.1.1 Khái niệm Địa cổng (Address & Port) Nguyên lý:  Trong máy có nhiều ứng dụng muốn trao ứng dụng khác thơng qua mạng (ví dụ có ứng dụng máy A muốn trao đổi với với ứng dụng máy B)  Mỗi máy tính có đường truyền liệu (để gửi nhận) Vấn đề : Rất xảy "nhầm lẫn" liệu từ máy A gửi đến máy B khơng biết liệu gửi cho ứng dụng máy B? Giải quyết: Mỗi ứng dụng máy B gán số hiệu (mà ta quen gọi cổng Port), số hiệu cổng từ 65535 Khi ứng dụng máy A muốn gửi cho ứng dụng máy B việc điền thêm số hiệu cổng (vào trường RemotePort) vào gói tin cần gửi Trên máy B, ứng dụng việc kiểm tra giá trị cổng gói tin xem có trùng với số hiệu cổng (đã gán – giá trị Localport) hay khơng? Nếu xử lý, cịn trái lại khơng làm Như vậy: Khi cần trao đổi liệu cho hai ứng dụng cần phải biết thông tin tối thiểu địa (Address) số hiệu cổng (Port) ứng dụng 3.1.2 Lớp IPAddress Trên Internet trạm (có thể máy tính, máy in, thiết bị …) có định danh nhất, định danh thường gọi địa (Address) Địa Internet tập hợp gồm số có giá trị từ 0-255 cách dấu chấm Để thể địa này, người ta viết dạng sau: Tên : Ví dụ May01, Server, … Trang Địa IP đặt xâu: "192.168.1.1", "127.0.0.1" Đặt mảng byte, byte chứa số từ 0-255 Ví dụ để biểu diễn địa 192.168.1.1 với khai báo “byte[] DiaChi = new byte[4];”, ta viết:  DiaChi(0) = 192;  DiaChi(1) = 168;  DiaChi(2) = 1;  DiaChi(3) = 1; Hoặc số (long), có độ dài byte Ví dụ, với địa 192.168.1.1 giá trị là: 16885952 (đây số hệ thập phân xếp liền byte lại với 00000001 00000001 10101000 11000000 (Byte 0) 168 192 (Byte 3) Như vậy, để đổi địa chuẩn dạng số ta việc tính tốn cho thành phần Ví dụ: Đổi địa 192.168.1.2 số, ta tính sau : * 256 ^ + 1* 256 ^ + 168 * 256 ^ + 192 * 256 ^ Trong NET, IPAddress lớp dùng để mô tả địa Đây lớp sử dụng thao tác (truyền) vào lớp IPEndpoint, UDP, TCP, Socket … Bảng 2-1: Các thành phần lớp IpAddress Thành viên Static Any Mô tả Cung cấp địa IP (thường 0.0.0.0) để Server phải lắng nghe hoạt động Client tất Card mạng (sử dụng xây dựng Broadcast Server) Thuộc tính đọc Cung cấp địa IP quảng bá (Broadcast, thường Loopback 255.255.255.255), dạng số long Trả địa IP lặp (IP Loopback, ví dụ AddressFamily 127.0.0.1) Trả họ địa địa IP hành Nếu địa dạng IPv4 kết Internetwork, Trang Phương thức IPAddress(Int64) IPAddress(Byte[]) GetAddressByte () HostToNetworkOrder() InternetworkV6 địa IPv6 Mô tả Tạo địa IP từ số long Tạo địa IP từ mảng Byte Chuyển địa thành mảng Byte Đảo thứ tự Byte số cho với thứ tự Byte địa IPAddress IsLoopback() Cho biết địa có phải địa lặp hay khơng? Ví dụ 1: Kiểm tra xem 192.168.1.300 có phải địa IP hợp lệ không private void KiemTra() { String Ip1 = "127.0.0.1"; String Ip2 = "999.0.0.1"; MessageBox.Show(IPAddress.TryParse(Ip1, new IPAddress(0))); MessageBox.Show (IPAddress.TryParse(Ip2, new IPAddress(1))); } Ví dụ 2: Chuyển địa hành mảng byte hiển thị thành sphần mảng private void KiemTra() { IpAddress Ip3 = new IPAddress(16885952); Byte[] b; b = Ip3.GetAddressBytes(); MessageBox.Show("Address: " & b(0) &"." & b(1) &"." & b(2) & "." & b(3)); } 3.1.3 Lớp IPEndpoint Trong mạng, để hai trạm trao đổi thơng tin với chúng cần phải biết địa (IP) số hiệu cổng mà hai bên dùng để trao đổi thông tin Lớp IPAddress cung cấp cho ta vế địa IP Trang 10 Table Users  Chức năng: Lưu thông tin User  Danh sách thuộc tính: Bảng 3-13: Table Users STT Tên thuộc tính ID Username Password State Fullname Email Address Table FriendList Kiểu liệu int (4) varchar (20) varchar (15) bit (1) nvarchar (50) varchar (30) nvarchar (50) Diễn giải Tự động tăng, Khóa Tên đăng nhập Mật đăng nhập Trạng thái User Tên đầy đủ User Email User Địa User  Chức năng: Lưu thông tin quan hệ User  Danh sách thuộc tính: Bảng 3-14: Table FriendList STT Tên thuộc tính UserID FriendID Kiểu liệu int (4) int (4) Diễn giải ID User, Khóa ID Friend, Khóa Trang 62 Table OfflineMessage  Chức năng: Lưu tin nhắn offline User  Danh sách thuộc tính: Bảng 3-15: Table OfflineMessage STT Tên thuộc tính UserID SenderID SendTime Message Table GroupChat Kiểu liệu int (4) int (4) datetime (8) Diễn giải ID người nhận, Khóa ID người gởi, Khóa Thời điểm gởi tin nhắn, Khóa nvarchar (500) Nội dung tin nhắn  Chức năng: Lưu tạm thời thông tin nhóm Chat  Danh sách thuộc tính: Bảng 3-16: Table GroupChat STT Tên thuộc tính GroupID UserID GroupName CreateTime Table GroupDetail Kiểu liệu int (4) int (4) varchar (20) datetime (8) Diễn giải Tự động tăng, Khóa ID User tạo nhóm Tên nhóm Thời điểm tạo nhóm  Chức năng: Lưu thơng tin chi tiết nhóm Chat  Danh sách thuộc tính: Bảng 3-17: Table GroupDetail STT Tên thuộc tính GroupID Kiểu liệu int (4) FriendID int (4) Diễn giải ID Group, Khóa ID của User thành viên Group, Khóa 4.4.4 Mơ tả ràng buộc tồn vẹn: Ràng buộc 1: Username Table Users không trùng Ràng buộc 2: UserID FriendID Table FriendList phải tồn Table Users Trang 63 Ràng buộc 3: UsersID Table GroupChat phải tồn Table Users Ràng buộc 4: GroupID Table GroupDetail phải tồn Table GroupChat Ràng buộc 5: FriendID Table GroupDetail phải tồn Table Users Ràng buộc 6: SenderID UserID Table OfflineMessage phải tồn Table Users 4.5 Thiết kế giao diện 4.5.1 Màn hình đăng nhập Hình 3-25: Màn hình đăng nhập Chức năng: Dùng để đăng nhập vào chương trình Trang 64 4.5.2 Màn hình Hình 3-26: Màn hình Chức năng: Chứa tất chức chương trình 4.5.3 Màn hình thêm Friend Hình 3-27: Màn hình thêm Friend Chức năng: Xuất người dùng cần thêm Friend Trang 65 4.5.4 Màn hình xóa Friend Hình 3-28: Màn hình xóa Friend Chức năng: Khi người dùng chọn chức xóa Friend hình xuất cho phép người dùng nhập vào tên Friend cần xóa 4.5.5 Màn hình Chat With Hình 3-29: Màn hình Chat With Chức năng: Khi người dùng chọn chức Chat With, hình xuất cho phép người dùng nhập tên User cần Chat Trang 66 4.5.6 Màn hình Invite Group Hình 3-30: Màn hình Invite Group Chức năng: Màn hình xuất người dùng chọn chức Invite Group cho phép người dùng mời Users có danh sách bạn bè Users khác (thông qua chức Invite Another) Ngồi ra, người dùng nhập vào lời mời nhóm 4.5.7 Màn hình Invite Another Hình 3-31: Màn hình Invite Another Trang 67 Chức năng: Hiển thị người dùng click chọn button Invite Another hình Invite Group Màn hình cho phép người dùng tùy chọn tên User muốn mời vào nhóm 4.5.8 Màn hình Settings Hình 3-32: Màn hình Invite Another Chức năng: Dùng để hiệu chỉnh lại kết nối đến sở liệu Trang 68 Chương 5: CÀI ĐẶT – THỬ NGHIỆM 5.1 Cài đặt chương trình 5.1.1 Cài đặt Server Yêu cầu hệ thống:  Máy tính phải cài đặt Net Framework 2.0 trở lên  Máy tính phải cài đặt Microsoft SQL Server 2000 trở lên Microsoft SQL Server Desktop Engine 2000 (MSDE) Hướng dẫn cài đặt:  Cài đặt MSDE: Đối với máy chưa cài Microsoft SQL Server, người dùng cài đặt MSDE để thay Cách cài đặt MSDE sau: • Bước 1: Vào Start -> Run, gõ cmd • Bước 2: Sau mở cmd, ta thực thao tác hình (với C:\MSDE đường dẫn thư mục cài đặt MSDE, duytue Password Login name Sa Hình 4-33: Cài đặt Microsoft SQL Destop Engine  Cài đặt Server: Trang 69 Thực bước sau: • Bước 1: Nhấp đúp tập tin Server.msi để tiến hành cài đặt chương trình Màn hình Wellcome ra, nhấn Next để tiếp tục tiến trình cài đặt • Bước 2: Khi Màn hình Customer Information ra, ô Username ta nhập tên người dùng; ô Organization, ta nhập tên tổ chức sử dụng chương trình Sau nhấn Next để tiếp tục Hình 4-34: Cài đặt Server – Màn hình Customer Information • Bước 3: Khi hình Destination Folder ra, ta nhấp nút Change… để thay đổi thư mục cài đặt Sau đó, nhấn nút Next để tiếp tục Trang 70 Hình 4-35: Cài đặt Server – Màn hình Destination Folder • Bước 4: Khi hình SQL Login ra, ta nhấn nút Browse để chọn Server Name Có thể chọn hai cách kết nối tới sở liệu Windows Authencation Sql Server Authencation Sau thiết định xong kết nối, nhấn nút Next để chương trình tiến hành cài đặt Trang 71 Hình 4-36: Cài đặt Server – Màn hình SQL Login • Bước 5: Khi chương trình cài đặt xong, nhấn nút Finish để kết thúc (có thể mở chương trình sau cài đặt cách tíc chọn nút Launch Server) Hình 4-37: Cài đặt Server – Màn hình Finish 5.1.2 Cài đặt Client Yêu cầu hệ thống: Máy tính phải cài đặt NET Framework 2.0 Thực bước sau: • Bước 1: Nhấp đúp tập tin Lan Chat.msi để tiến hành cài đặt chương trình Màn hình Wellcome ra, nhấn Next để tiếp tục tiến trình cài đặt • Bước 2: Khi Màn hình Customer Information ra, ô Username ta nhập tên người dùng; ô Organization, ta nhập tên tổ chức sử dụng chương trình Sau nhấn Next để tiếp tục Trang 72 Hình 4-38: Cài đặt Client – Màn hình Customer Information • Bước 3: Khi hình Destination Folder ra, ta nhấp nút Change… để thay đổi thư mục cài đặt Sau đó, nhấn nút Next để chương trình thực việc cài đặt Hình 4-39: Cài đặt Client – Màn hình Destination Folder Trang 73 • Bước 4: Khi chương trình cài đặt xong, nhấn nút Finish để kết thúc (có thể mở chương trình sau cài đặt cách tíc chọn nút Launch Lan Chat) Hình 4-40: Cài đặt Client – Màn hình Finish 5.2 Hướng dẫn sử dụng Sử dụng liệu sẳn có: Sau chương trình Server mở, người dùng dùng Client để tiến hành đăng nhập sử dụng chương trình Chương trình có User sẳn có: Username Password duytue 123 tester 123 xeko 123 Thêm liệu mới: Do chức đăng ký Users chưa xây dựng nên người sử dụng Server dùng chọn chức Show All Users menu để thêm xóa Users Trang 74 Chương 6: KẾT LUẬN 6.1 Kết đạt Đề tài “Chương trình Chat” thực nội dung sau:  Tìm hiểu cách thức lập trình Socket lập trình đa luồng mơi trường NET  Tìm hiểu cách thức hoạt động chương trình Chat đơn giản  Xây dựng chương trình Chat đơn giản cài đặt mạng Lan với số tính như: gởi tin nhắn trực tiếp Users, gởi tin nhắn Offline, lưu danh sách bạn bè, tạo nhóm Chat 6.2 Hướng phát triển Về bản, nghiên cứu đạt yêu cầu đặt Tuy nhên có điều kiện, đồ án cố gắng phát triển thêm chức sau: Cho phép người dùng tạo tài khoản tùy chỉnh lại thông tin thông tin cá nhân Cho phép người dùng quản trị Back up liệu Hoàn thiện chức Group Chat Hỗ trợ gởi hình ảnh Chat Hỗ trợ chức gởi file Hỗ trợ chức Voice Chat Webcam Trang 75 TÀI LIỆU THAM KHẢO Tài liệu: Tiếng Việt [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# Tiếng Anh [3] Sybex, 2003, C-Sharp Network Programming [4] Fiach Reid, 2004, Network Programming in NET Website: [1] http://congdongcviet.com [2] http://www.codeproject.com [3] http://www.codeguru.com Trang 76 ... thông tin thơng qua mạng Lan ngày lớn Chính vậy, chương trình Chat mạng Lan xây dựng để đáp ứng phần nhu cầu cấp thiết 2.2 Mục đích đề tài: Xây dựng chương trình Chat hoạt động mạng Lan với chức. .. chức như: gởi tin nhắn, tạo nhóm Chat lưu thông tin bạn bè 2.3 Đối tượng phạm vi nghiên cứu 2.3.1 Đối tượng nghiên cứu Tìm hiểu chế hoạt động Socket Thread NET Framwork từ viết ứng dụng Chat mạng. .. đổi thông tin mạng Lan phát triển theo Chính vậy, chương trình Chat phục vụ cho nhu cầu liên lạc, trao đổi thông tin mạng Lan cần thiết 4.1.2 Yêu cầu đề ra: Yêu cầu đặt xây dựng chương trình Chat

Ngày đăng: 10/03/2014, 08:30

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • MỤC LỤC

  • DANH SÁCH CÁC HÌNH VẼ

  • Chương 1: DANH SÁCH CÁC BẢNG BIỄU

  • Chương 2: Mở đầu

    • 2.1 Lý do chọn đề tài:

    • 2.2 Mục đích của đề tài:

    • 2.3 Đối tượng và phạm vi nghiên cứu

      • 2.3.1 Đối tượng nghiên cứu

      • 2.3.2 Phạm vi nghiên cứu

      • Chương 3: KIẾN THỨC ỨNG DỤNG

        • 3.1 Sơ lược về lập trình Socket:

          • 3.1.1 Khái niệm Địa chỉ và cổng (Address & Port)

          • 3.1.2 Lớp IPAddress

          • 3.1.3 Lớp IPEndpoint

          • 3.1.4 Lớp UDP

          • 3.1.5 Lớp TCP (TCPClient)

          • 3.1.6 Lớp TcpListener

          • 3.2 Sơ lược về lập trình đa luồng:

            • 3.2.1 Khái niệm Luồng (Thread)

            • 3.2.2 Khảo sát namespace System.Threading

              • 3.2.2.1 Lớp Thread

              • 3.2.2.2 Thao tác với luồng

              • 3.2.3 Đồng bộ hóa (Synchronization) trong lập trình đa luồng:

                • 3.2.3.1 Đồng bộ hóa

                • 3.2.3.2 Deadlock

                • 3.2.3.3 Race condition

Tài liệu cùng người dùng

Tài liệu liên quan