Ktl-icon-tai-lieu

win3

Được đăng lên bởi nbvbao
Số trang: 26 trang   |   Lượt xem: 1620 lần   |   Lượt tải: 1 lần
CHƯƠNG 1

CUNG NGUYỄN PHƯỚC TÀI
HICOL-cnptai@hueic.edu.vn

1







Socket là một đối tượng cho phép truy xuất
các thiết bị mạng để gửi và nhận dữ liệu
thông qua các kết nối.
Dữ liệu thường được gửi theo một khối
(blocks) các kilobytes gọi là gói tin (packet).
Packet phải chứa địa chỉ IP nguồn và địa chỉ IP
đích.
Giao thức sử dụng: UDP, TCP/IP
2






Mỗi khi Socket được tạo, nó ràng buộc một
địa mạng (IP) và một cổng trên máy tính này
và một địa chỉ mạng (IP) và một cổng trên
máy tính kia.
Một cổng (Port) là một số trong khoảng từ 1
đến 65.535
Các ứng dụng mạng phải sử dụng cổng lớn
hơn 1024, vì các cổng từ 1 đến 1024 được sử
dụng cho IANA(Internet Assigned Numbers
Authority).
3

Host 1

Host 2

Network Application

Network Application

Socket

Socket

Port

Port

The Socket Interface
4





Project: “Hello world”
Mục tiêu
 Xây dựng ứng dụng tại Client: gửi thông điệp

“Hello world” đến Server.
 Xây dựng ứng dụng tại server: nhận thông điệp
“Hello world” từ Client.
 Giao thức sử dụng: UDP

5



Xây dựng dự án với tên: HelloWorldClient

6

private void btSendMessage_Click(object sender, EventArgs e)
{
udpClient udpClient = new UdpClient();
udpClient.Connect(tbIPServer.Text, 8080);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Hello World?");
udpClient.Send(sendBytes, sendBytes.Length);
}
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;
7



Xây dựng dự án với tên: HelloWorldServer

ListBox

8





Demo tại Client và Server
Nút Send Message được kích hoạt 3 lần.

9

private void Form1_Load(object sender, System.EventArgs e)
{
CheckForIllegalCrossThreadCalls = false;
Thread thdUDPServer = new Thread(new
ThreadStart(serverThread));
thdUDPServer.Start();
}

using System.Net;
using System.Net.Sockets;
using System.Text;
using System.IO;
using System.Threading;

10

public void serverThread()
{
udpClient udpClient = new UdpClient(8080);
while(true)
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
Byte[] receiveBytes = udpClient.Receive(ref
RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
lbConnections.Items.Add(RemoteIpEndPoint.Address.ToString() + ":" + returnData.ToString());
}
}

11





Gửi nhận file theo mô hình Client và Server
File dữ liệu lớn được chia thành các gói
Packets để gửi và nhận thông qua một kênh
ảo được thiết lập. Nếu Packets nào bị mất thì
sẽ được gửi lại.

12





Tạo một dự án mới đặt tên: TCPSimpleClient
Thiết kế form như hình sau:
...
CUNG NGUYỄN PHƯỚC TÀI
HICOL-cnptai@hueic.edu.vn
CHƯƠNG 1
1
win3 - Trang 2
Để xem tài liệu đầy đủ. Xin vui lòng
win3 - Người đăng: nbvbao
5 Tài liệu rất hay! Được đăng lên bởi - 1 giờ trước Đúng là cái mình đang tìm. Rất hay và bổ ích. Cảm ơn bạn!
26 Vietnamese
win3 9 10 265