traigiau_91

New Member
Tải Đề tài Tìm hiểu được cơ chế hoạt động của Socket và Thread trong - NET Framwork từ đó viết ứng dụng Chat trong mạng Lan

Download miễn phí Đề tài Tìm hiểu được cơ chế hoạt động của Socket và Thread trong - NET Framwork từ đó viết ứng dụng Chat trong mạng Lan


MỤC LỤCDANH SÁCH CÁC HÌNH VẼDANH SÁCH CÁC BẢNG BIỄUChương 1:MỞ ĐẦU1.1Lý do chọn đề tài:Hiện nay, mạng Lan đã có những tiến bộ vượt bậc và ngày càng phổ biến hơn trong đồi sống sinh hoat. Điều này làm cho nhu cầu liên lạc và trao đổi thông tin thông qua mạng Lan ngày càng lớn hơn. Chính vì vậy, chương trình Chat trên mạng Lan được xây dựng để đáp ứng phần nào những nhu cầu cấp thiết đó.
1.2Mục đích của đề tài: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è.
1.3Đối tượng và phạm vi nghiên cứu1.3.1Đối tượng nghiên cứuTìm hiểu được cơ chế hoạt động của Socket và Thread trong .NET Framwork từ đó viết ứng dụng Chat trong mạng Lan.
1.3.2Phạm vi nghiên cứuChương trình Chat được xây dựng với khả năng gởi các được văn bản qua lại giữa các user thông qua sự điều khiển của một Server trong mạng Lan.
Chương 2:KIẾN THỨC ỨNG DỤNG2.1Sơ lược về lập trình Socket:2.1.1Khái niệm Địa chỉ và cổng (Address & Port)Nguyên lý:
Trong một máy có rất nhiều ứng dụng muốn trao đối với các ứng dụng khác thông qua mạng (ví dụ trên có 2 ứng dụng trong máy A muốn trao đổi với với 2 ứng dụng trên máy B).Mỗi máy tính chỉ có duy nhất một đường truyền dữ liệu (để gửi và nhận).Vấn đề : Rất có thể xảy ra "nhầm lẫn" khi dữ liệu từ máy A gửi đến máy B thì không biết là dữ liệu đó gửi cho ứng dụng nào trên máy B?Giải quyết: Mỗi ứng dụng trên máy B sẽ được gán một số hiệu (mà ta vẫn quen gọi là cổng : Port), số hiệu cổng này từ 1 65535. Khi ứng dụng trên máy A muốn gửi cho ứng dụng nào trên máy B thì chỉ 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, các ứng dụng chỉ việc kiểm tra giá trị cổng trên mỗi gói tin xem có trùng với số hiệu cổng của mình (đã được gán – chính là giá trị Localport) hay không? Nếu bằng thì xử lý, còn trái lại thì không làm gì (vì không phải là của mình).Như vậy: Khi cần trao đổi dữ liệu cho nhau thì hai ứng dụng cần biết thông tin tối thiểu là địa chỉ (Address) và số hiệu cổng (Port) của ứng dụng kia.


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

MỤC LỤC
DANH SÁCH CÁC HÌNH VẼ
DANH SÁCH CÁC BẢNG BIỄU
MỞ ĐẦU
Lý do chọn đề tài:
Hiện nay, mạng Lan đã có những tiến bộ vượt bậc và ngày càng phổ biến hơn trong đồi sống sinh hoat. Điều này làm cho nhu cầu liên lạc và trao đổi thông tin thông qua mạng Lan ngày càng lớn hơn. Chính vì vậy, chương trình Chat trên mạng Lan được xây dựng để đáp ứng phần nào những nhu cầu cấp thiết đó.
Mục đích của đề tài:
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è.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Tìm hiểu được cơ chế hoạt động của Socket và Thread trong .NET Framwork từ đó viết ứng dụng Chat trong mạng Lan.
Phạm vi nghiên cứu
Chương trình Chat được xây dựng với khả năng gởi các được văn bản qua lại giữa các user thông qua sự điều khiển của một Server trong mạng Lan.
KIẾN THỨC ỨNG DỤNG
Sơ lược về lập trình Socket:
Khái niệm Địa chỉ và cổng (Address & Port)
Nguyên lý:
Trong một máy có rất nhiều ứng dụng muốn trao đối với các ứng dụng khác thông qua mạng (ví dụ trên có 2 ứng dụng trong máy A muốn trao đổi với với 2 ứng dụng trên máy B).
Mỗi máy tính chỉ có duy nhất một đường truyền dữ liệu (để gửi và nhận).
Vấn đề : Rất có thể xảy ra "nhầm lẫn" khi dữ liệu từ máy A gửi đến máy B thì không biết là dữ liệu đó gửi cho ứng dụng nào trên máy B?
Giải quyết: Mỗi ứng dụng trên máy B sẽ được gán một số hiệu (mà ta vẫn quen gọi là cổng : Port), số hiệu cổng này từ 1..65535. Khi ứng dụng trên máy A muốn gửi cho ứng dụng nào trên máy B thì chỉ 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, các ứng dụng chỉ việc kiểm tra giá trị cổng trên mỗi gói tin xem có trùng với số hiệu cổng của mình (đã được gán – chính là giá trị Localport) hay không? Nếu bằng thì xử lý, còn trái lại thì không làm gì (vì không phải là của mình).
Như vậy: Khi cần trao đổi dữ liệu cho nhau thì hai ứng dụng cần biết thông tin tối thiểu là địa chỉ (Address) và số hiệu cổng (Port) của ứng dụng kia.
Lớp IPAddress
Trên Internet mỗi một trạm (có thể là máy tính, máy in, thiết bị …) đều có một định danh duy nhất, định danh đó thường được gọi là một địa chỉ (Address). Địa chỉ trên Internet là một tập hợp gồm 4 con số có giá trị từ 0-255 và cách nhau bởi dấu chấm.
Để thể hiện địa chỉ này, người ta có thể viết dưới các dạng sau:
Tên : Ví dụ May01, Server, ….
Địa chỉ IP nhưng đặt trong một xâu: "192.168.1.1", "127.0.0.1"
Đặt trong một mảng 4 byte, mỗi byte chứa một số từ 0-255. Ví dụ để biểu diễn địa chỉ 192.168.1.1 với khai báo “byte[] DiaChi = new byte[4];”, ta có thể viết:
DiaChi(0) = 192;
DiaChi(1) = 168;
DiaChi(2) = 1;
DiaChi(3) = 1;
1 (Byte 0) 1 168 192 (Byte 3)
hay cũng có thể là một số (long), có độ dài 4 byte. Ví dụ, với địa chỉ 192.168.1.1 ở trên thì giá trị đó sẽ là: 16885952 (đây là số ở hệ thập phân khi xếp liền 4 byte ở trên lại với nhau 00000001 00000001 10101000 11000000
Như vậy, để đổi một địa chỉ chuẩn ra dạng số ta chỉ việc tính toán cho từng thành phần. Ví dụ: Đổi địa chỉ 192.168.1.2 ra số, ta tính như sau :
2 * 256 ^ 3 + 1* 256 ^ 2 + 168 * 256 ^ 1 + 192 * 256 ^ 0
Trong .NET, IPAddress là một lớp dùng để mô tả địa chỉ này. Đây là lớp rất cơ bản được sử dụng khi chúng ta thao tác (truyền) vào các lớp như IPEndpoint, UDP, TCP, Socket …
Bảng 21: Các thành phần của lớp IpAddress
Thành viên Static
Mô tả
Any
Cung cấp một địa chỉ IP (thường là 0.0.0.0) để chỉ ra rằng Server phải lắng nghe các hoạt động của Client trên tất cả các Card mạng (sử dụng khi xây dựng Server). Thuộc tính này chỉ đọc.
Broadcast
Cung cấp một địa chỉ IP quảng bá (Broadcast, thường là 255.255.255.255), ở dạng số long.
Loopback
Trả về một địa chỉ IP lặp (IP Loopback, ví dụ 127.0.0.1).
AddressFamily
Trả về họ địa chỉ của địa chỉ IP hiện hành. Nếu địa chỉ ở dạng IPv4 thì kết quả là Internetwork, và InternetworkV6 nếu là địa chỉ IPv6.
cách
Mô tả
IPAddress(Int64)
Tạo địa chỉ IP từ một số long.
IPAddress(Byte[])
Tạo địa chỉ IP từ một mảng Byte.
GetAddressByte ()
Chuyển địa chỉ thành mảng Byte.
HostToNetworkOrder()
Đảo thứ tự Byte của một số cho đúng với thứ tự Byte trong địa chỉ IPAddress.
IsLoopback()
Cho biết địa chỉ có phải là địa chỉ lặp hay không?
Ví dụ 1: Kiểm tra xem 192.168.1.300 có phải là địa chỉ 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 chỉ hiện hành ra mảng byte và hiển thị từng thành sphần trong 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));
}
Lớp IPEndpoint
Trong mạng, để hai trạm có thể trao đổi thông tin được với nhau thì chúng cần biết được địa chỉ (IP) của nhau và số hiệu cổng mà hai bên dùng để trao đổi thông tin. Lớp IPAddress mới chỉ cung cấp cho ta một vế là địa chỉ IP (IPAddress), như vậy vẫn còn thiếu vế thứ hai là số hiệu cổng (Port number). Như vậy, lớp IPEndpoint chính là lớp chứa đựng cả IPAddress và Port number.
Đối tượng IPEndpoint sẽ được dùng sau này để truyền trực tiếp cho các đối tượng UDP, TCP…
Bảng 22: Các thành viên của lớp IpEndPoint
cách khởi tạo
Mô tả
IPEndPoint(Int64, Int32)
Tạo một đối tượng mới của lớp IPEndPoint, tham số truyền vào là địa chỉ IP (ở dạng số) và cổng sẽ dùng để giao tiếp.
IPEndPoint(IPAddress, Int32)
Tạo một đối tượng mới của lớp IPEndPoint, Tham số truyền vào là một địa chỉ IPAddress và số hiệu cổng dùng để giao tiếp.
Thuộc tính
Mô tả
Address
Trả về hay thiết lập địa chỉ IP cho Endpoint (trả về một đối tượng IPAddress).
AddressFamily
Lấy về loại giao thức mà Endpoint này đang sử dụng.
Port
Lấy hay gán số hiệu cổng của Endpoint.
cách
Mô tả
Create()
Tạo một Endpoint từ một địa chỉ socket (socket address).
ToString()
Trả về địa chỉ IP và số hiệu cổng theo khuôn dạng địa chỉ: cổng. Ví dụ: “192.168.1.1:8080”
Lớp UDP
Giao thức UDP (User Datagram Protocol hay User Define Protocol) là một giao thức phi kết nối (connectionless) có nghĩa là một bên có thể gửi dữ liệu cho bên kia mà không cần biết là bên đó đã sẵn sàng hay chưa? (Nói cách khác là không cần thiết lập kết nối giữa hai bên khi tiến hành trao đổi thông tin). Giao thức này không tin cậy bằng giao thức TCP nhưng tốc độ lại nhanh và dễ cài đặt. Ngoài ra, với giao thức UDP ta còn có thể gửi các gói tin quảng bá (Broadcast) cho đồng thời nhiều máy.
Trong .NET, lớp UDPClient (nằm trong namesapce System.Net.Sockets) đóng gói các chức năng của giao thức UDP.
Bảng 23: Các thành viên của lớp UDPClient
cách khởi tạo
Mô tả
UdpClient ()
Tạo một đối tượng (thể hiện) mới của lớp UDPClient.
UdpClient (AddressFamily)
Tạo một đối tượng (thể hiện) mới của lớp UDPClient. Thuộc một dòng địa chỉ (AddressFamily) được chỉ định.
UdpClient (Int32)
Tạo một UdpClient và gắn (bind) m
 
Tags: udpclient
Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
D TÌM HIỂU MỘT CÔNG TY ĐÃ ĐƯỢC NIÊM YẾT TRÊN HOSE Tài chính, Chứng khoán 0
A kiến thức đã tìm hiểu được trong thời gian thực tập tổng hợp - Thực trạng các Website đã và đang được thiết kế tại Việt Nam Luận văn Kinh tế 0
K Tìm hiểu về hình ảnh đất nước con người Việt Nam qua con mắt người nước ngoài được phản ánh trên báo Nhân Dân và báo Sài Gòn giải phóng Luận văn Kinh tế 0
G Tìm hiểu về đối tượng được tham gia bảo hiểm xã hội Luận văn Kinh tế 0
C Tìm hiểu những kết quả mà các điều kiện kinh tế Trung Quốc đạt được Luận văn Kinh tế 0
M Tìm hiểu việc thực hiện nhóm quyền được bảo vệ trong công ước quốc tế về quyền trẻ em của các gia đình người dân TP Hà Nội Văn hóa, Xã hội 0
G Tìm hiểu các hiện tượng ngữ pháp được giới thiệu trong các giáo trình dạy tiếng Việt cho người nước ngoài Văn hóa, Xã hội 3
D Tìm hiểu trách nhiệm của doanh nghiệp bảo hiểm nhằm đảm bảo khả năng thanh toán số tiền bảo hiểm cho người được bảo hiểm Luận văn Luật 0
G Tìm hiểu các qui trình công nghệ sản xuất thực phẩm được chế biến từ rau quả của Công ty thực phẩm Hà Nội Tài liệu chưa phân loại 2
L Tìm hiểu về tư tưởng thân dân của chủ tịch Hồ Chí Minh so với các bậc tiền bối. Vấn đề này được Đảng và nhà nước giải quyết như thế nào Tài liệu chưa phân loại 0

Các chủ đề có liên quan khác

Top