Tài liệu, bài tập, đề thi môn lập trình mạng
Trang 1Viết chương trình chat giữa hai máy sử dụng lớp UdpClient có giao diện như sau:
Câu 1: Viết code để thực hiện chức năng Chat, cụ thể bao gồm:
a) Viết code cho nút Open và nút Close
b) Viết code cho nút Send
c) Viết code để xử lý dữ liệu nhận về
Câu 2Viết ứng dụng Server, sử dụng lớp TCPListener, có giao diện như sau:
a) Viết lệnh cho nút Listen
b) Chấp nhận các kết nối đến từ Client và khi Client gửi một xâu ký tự thì chuyển thànhxâu ký tựhoa và gửi trả cho Client
Bài làm
Câu 1
Trang 2a) Viết code cho nút Open và nút Close
private void bntOpen_Click(object sender, EventArgs e)
b) Viết code cho nút Send
private void bntSend_Click(object sender, EventArgs e)
{ IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(txtRhost.Text), int.Parse(txtLport.Text));
c) Viết code để xử lý dữ liệu nhận về
private void NhanDL()
a) Viết lệnh cho nut listen
Private TCPListener server;
Private TCPClient client;
Trang 3Private void btnListen_Click()
StreamReader sr=new StreamReader(client.GetStream());
StreamWriter sw=new StreamWriter(client.GetStream());
Trang 4Câu 1: code để thực hiện chức năng Chat, cụ thể bao gồm:
a) Viết code cho nút Open và nút Close
b) Viết code cho nút Send
c) Viết code để xử lý dữ liệu nhận về
Câu 2: Viết chương trình Client, sử dụng lớp TCPClient để kết nối tới một server đang lắng
nghe tại cổng 1000
a) Viết lệnh cho nút Connect, Disconnect để kết nối/ ngắt kết nối (2 đ)
b) Viết lệnh cho nút Send để gửi Message đi và hiển thị kết quả server trả về trên lblResult
Bài làm Câu 1
a) Viết code cho nút Open và nút Close
private void bntOpen_Click(object sender, EventArgs e)
Trang 5b) Viết code cho nút Send
private void bntSend_Click(object sender, EventArgs e)
{ IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(txtRhost.Text), int.Parse(txtLport.Text));
c) Viết code để xử lý dữ liệu nhận về
private void NhanDL()
a) viết lệnh cho nut connection và disconnect
private TCPClient client;
private TCPListener server;
txtRport.Text=”1000”;
Trang 6private void btnConnect_Click()
b) viết lệnh cho nut Send
private void btnSend_Click()
{
StreamReader sr=new StreamReader(client.GetStream());
StreamWriter sw=new StreamWriter(client.GetStream());
//Gui yeu cau
Trang 7Câu 1Khi load form, danh sách địa chỉ IP sẽ được nạp vào trong gridview Tên tệp chứa địa chỉ
IP là C:\Ips.txt (Mỗi dòng trong tệp lưu một địa chỉ IP)
Câu 2 Nếu chọn một dòng và một chức năng (option), sau đó click Apply thì thực hiện như sau:
a Lock: Gửi xâu "0" đến máy đích (có địa chỉ trong ô IP) đồng thời xóa nội dung trong ô Thời gian vào, ra, thành tiền trong hàng tương ứng
b UnLock: Gửi xâu "1" đến máy đích (có địa chỉ trong ô IP) đồng thời chèn nội dung là giờ, phút hiện hành vào ô Thời gian vào;
Câu 3: (4 đ) Viết ứng dụng Server, sử dụng lớp TCPListener, có giao diện như sau:
a) Viết lệnh cho nút Listen
b) Chấp nhận các kết nối đến từ Client và khi Client gửi một xâu ký tự đến thì gửi trả về cho Client xâu "Received"
Trang 8a) Viết lệnh cho nut listen
Private TCPListener server;
Private TCPClient client;
Private void btnListen_Click()
{
Trang 9IpEndPoint ipe=new IpEndPoint(IpAddress.Parse(“127.0.0.1”),int.Parse(txtLport.Text));server=new TCPListener(ipe);
StreamReader sr=new StreamReader(client.GetStream());
StreamWriter sw=new StreamWriter(client.GetStream());
Trang 10Câu 1 Khi load form, danh sách địa chỉ IP sẽ được nạp vào trong gridview Tên tệp chứa địa chỉ
IP là C:\Ips.txt (Mỗi dòng trong tệp lưu một địa chỉ IP)
Câu 2 (chọn một dòng và một chức năng (option), sau đó click Apply thì thực hiện như sau:
a Lock: Gửi xâu "0" đến máy đích (có địa chỉ trong ô IP) đồng thời xóa nội dung trong ô Thời gian vào, ra, thành tiền trong hàng tương ứng
b UnLock: Gửi xâu "1" đến máy đích (có địa chỉ trong ô IP) đồng thời chèn nội dung là giờ, phút hiện hành vào ô Thời gian vào;
Câu 3Viết chương trình Client, sử dụng lớp TCPClient để kết nối tới một server
đang lắng nghe tại cổng 1000
a) Viết lệnh cho nút Connect, Disconnect để kết nối/ ngắt kết nối tới server (2 đ)
b) Viết lệnh cho nút Send để gửi Message đi và hiển thị kết quả server trả về trên lblResult
bài làm Câu 1
private void Form1_Load(object sender, EventArgs e)
Trang 11private void bt_apply_Click(object sender, EventArgs e)
{ if (rdo_lock.Checked || rdo_payment.Checked ||do_shutdown.Checked || rdo_unlock.Checked
a) viết lệnh cho nut connection và disconnect
private TCPClient client;
private TCPListener server;
Trang 12b) viết lệnh cho nut Send
private void btnSend_Click()
{
StreamReader sr=new StreamReader(client.GetStream());
StreamWriter sw=new StreamWriter(client.GetStream());
//Gui yeu cau
Trang 13Câu 1 Khi load form, danh sách địa chỉ IP sẽ được nạp vào cột IP trong gridview Tên tệp chứa
địa chỉ IP là D:\Softwares\Ip.txt (Mỗi dòng trong tệp lưu một địa chỉ IP)
Câu 2 Nếu chọn một dòng và một chức năng (option), sau đó click "Thực hiện" thì làm các công
việc cụ thể như sau:
a "Khóa": Gửi xâu "10" đến máy đích (có địa chỉ trong ô IP) đồng thời xóa nội dung trong ô Thời gian vào, ra, thành tiền trong hàng tương ứng
b "Mở khóa": Gửi xâu "11" đến máy đích (có địa chỉ trong ô IP) đồng thời chèn nội dung là giờ, phút hiện hành vào ô Thời gian vào
Câu 3Viết chương trình Client sử dụng lớp TCPClient để kết nối đến Server đang nghe tại cổng
1000, sau đó tiến hành gửi thông tin về sinh viên (Gồm Họ tên, địa chỉ) đến server
a) Viết lệnh cho nút Connect và Disconnect để kết nối/hủy kết nối đến server
b) Viết lệnh cho nút Send để gửi Họ tên, địa chỉ cho server
bài làm
câu 1
Trang 14{private void Form1_Load(object sender, EventArgs e)
{ FileStream file = new FileStream("D:\Softwares\Ip.txt ", FileMode.Open);
StreamReader rd = new StreamReader(file);
private void bt_thuchien_Click(object sender, EventArgs e)
{ if (rdo_khoa.Checked || rdo_mokhoa.Checked ||do_tinhtien.Checked || rdo_tattoanbo.Checked
a) viết lệnh cho nut connection và disconnect
private TCPClient client;
Trang 15private TCPListener server;
b) viết lệnh cho nut Send
private void btnSend_Click()
{
StreamReader sr=new StreamReader(client.GetStream());
StreamWriter sw=new StreamWriter(client.GetStream());
//Gui yeu cau
Viết chương trình tra cứu sách thư viện (Sử dụng
Broadcast) Giả sử đã có sẵn hàm tra cứu sách: String TraCuu(string MaSach), hàm này nhận
mã sách và trả về thông tin của cuốn sách đó
Giao diện chương trình client và server như sau:
Trang 16Câu 1
a) Viết lệnh cho nút "Tìm kiếm" trên Client để gửi cho server mã sách trong textbox
b) Kết quả nhận về sẽ được hiển thị trong nhãn Kết quả.
Câu 2 Đối với form server, việc nhận yêu cầu gửi đến và xử lý yêu cầu sẽ được thực hiện trong
sự kiện Tick của điều khiển Timer (có Interval = 100miligiây)
a) Viết lệnh cho nút "Start" trên form server để bắt đầu bật timer
b) Trong sự kiện Timer_Tick( ), viết các lệnh để thực hiện đọc, xử lý yêu cầu và gửi trả về kết quả cho phía Client
Câu 3: Viết ứng dụng Server, sử dụng lớp TCPListener, có giao diện như sau:
a) Viết lệnh cho nút Listen
b) Chấp nhận các kết nối đến từ Client và khi Client gửi một xâu ký tự đến thì gửi trả
về cho Client xâu "Received"
Trang 17UdpClient u1 = new UdpClient(200);
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0);
Viết chương trình tra cứu từ điển (Sử dụng Broadcast) Giả sử có sẵn hàm tra cứu trả về nghĩa
của từ: String TraCuu(string Tu), hàm này nhận từ tiếng Anh và trả về nghĩa tiếng Việt.
Giao diện Client / server như sau:
Trang 18Câu 1
a) Viết lệnh cho nút "Send request" để gửi Từ tiếng Anh trong textbox cho server
b) Kết quả nhận về sẽ được hiển thị trong nhãn Kết quả.
Câu 2 Đối với form server, việc nhận yêu cầu gửi đến và xử lý yêu cầu sẽ được thực hiện trong
sự kiện Tick của điều khiển Timer (có Interval = 100miligiây)
a) Viết lệnh cho nút "Start" trên form server để bắt đầu bật timer
b) Trong sự kiện Timer_Tick( ), viết các lệnh để thực hiện đọc, xử lý yêu cầu và gửi
trả về kết quả cho phía Client
Câu 3(4đ):Viết chương trình Client sử dụng lớp TCPClient để kết nối đến Server đang nghe tại
cổng 1000, sau đó tiến hành gửi thông tin về sinh viên (Gồm Họ tên, địa chỉ) đến server
a) Viết lệnh cho nút Connect và Disconnect để kết nối/hủy kết nối đến server
b) Viết lệnh cho nút Send để gửi Họ tên, địa chỉ cho server
Trang 19UdpClient u1 = new UdpClient(200);
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0);
Viết chương trình UDP tra cứu điểm (Sử dụng Broadcast) Giả sử đã có sẵn hàm tra cứu để trả
về tổng điểm như sau float TraCuu(String SoBD), Giao diện Client/Server như sau.
Trang 20Câu 1 (a) Viết lệnh cho nút "Tra cứu" để gửi Số báo danh trong textbox cho server
b) Kết quả nhận về sẽ được hiển thị trong nhãn Tổng điểm.
Câu 2 Đối với form server, việc nhận yêu cầu gửi đến và xử lý yêu cầu sẽ được thực
hiện trong sự kiện Tick của điều khiển Timer (có Interval = 100miligiây)
a) Viết lệnh cho nút "Start" trên form server để bắt đầu bật timer
b) Trong sự kiện Timer_Tick( ), viết các lệnh để thực hiện đọc, xử lý yêu cầu và gửi trả về kết quả cho phía Client (1 đ)
Câu 3Viết chương trình Client sử dụng lớp TCPClient để kết nối đến Server đang nghe
tại cổng 1000, sau đó tiến hành gửi thông tin về sinh viên (Gồm Họ tên, địa chỉ) đến server
a) Viết lệnh cho nút Connect và Disconnect để kết nối/hủy kết nối đến server
b) Viết lệnh cho nút Send để gửi Họ tên, địa chỉ cho server
bài làm câu 1
a private void bt_tracuu_Click(object sender, EventArgs e)
Trang 21{
byte[] dl = new byte[1024];
UdpClient udp = new UdpClient();
IPEndPoint ipe = new IPEndPoint(IPAddress.Broadcast, 10); udp.EnableBroadcast = true;
byte[] dl = new byte[1024];
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0);
UdpClient udp = new UdpClient(12);
Trang 22}
b private void timer1_Tick(object sender, EventArgs e)
{
UdpClient u1 = new UdpClient(200);
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0);
Trang 23Câu 1 Khi load form, danh sách địa chỉ IP sẽ được nạp vào cột IP trong gridview Tên tệp chứa
địa chỉ IP là E:\Softwares\Ip.txt (Mỗi dòng trong tệp chứa một địa chỉ IP)
Câu 2 Nếu chọn một dòng và một chức năng (option), sau đó click "Thực hiện" thì
làm các công việc cụ thể như sau:
a "Khóa": Gửi xâu "11" đến máy đích (có địa chỉ trong ô IP) đồng thời xóa nội
dung trong ô Thời gian vào, ra, thành tiền trong hàng tương ứng
b "Mở khóa": Gửi xâu "12" đến máy đích (có địa chỉ trong ô IP) đồng thời chèn
nội dung là giờ, phút hiện hành vào ô Thời gian vào
Câu 3: Viết ứng dụng Server, sử dụng lớp TCPListener, có giao diện như sau:
a) Viết lệnh cho nút Listen
b) Chấp nhận các kết nối đến từ Client và khi Client gửi một xâu ký tự thì chuyển thành
xâu ký tự hoa và gửi trả cho Client
Bài làm
Câu 1
{private void Form1_Load(object sender, EventArgs e)
Trang 24{ FileStream file = new FileStream("C E:\Softwares\Ip.txt ", FileMode.Open);
StreamReader rd = new StreamReader(file);
private void bt_thuchien_Click(object sender, EventArgs e)
{ if (rdo_khoidong.Checked || rdo_tinhtien.Checked ||do_mokhoa.Checked || rdo_khoa.Checked
Viết chương trình tra cứu sản phẩm (Sử dụng Broadcast) Giả sử có sẵn hàm để tra cứu là
String TraCuu(String MaSP).Hàm này nhận vào Mã SP và trả về thông tin của sản phẩm đó.Giao diện chương trình client và server tương ứng:
Trang 25Câu 1
a) Viết lệnh cho nút "Tra cứu" để gửi Mã sản phẩm trong textbox cho server
b) Kết quả nhận về sẽ được hiển thị trong nhãn Mô tả sản phẩm.
Câu 3 Đối với form server, việc nhận yêu cầu gửi đến và xử lý yêu cầu sẽ được thực
hiện trong sự kiện Tick của điều khiển Timer (có Interval = 100miligiây)
a) Viết lệnh cho nút "Start" trên form server để bắt đầu bật timer
b) Trong sự kiện Timer_Tick( ), viết các lệnh để thực hiện đọc, xử lý yêu cầu và gửitrả về kết quả cho phía Client
Câu 3: Viết ứng dụng Server, sử dụng lớp TCPListener, có giao diện như sau:
a) Viết lệnh cho nút Listen
b) Khi có Client kết nối đến thì chấp nhận kết nối đó, đồng thời gửi một xâu ký tự
"
Welcome to Server" cho phía Client
Bài làm
Trang 26câu 1
a private void bt_tracuu_Click(object sender, EventArgs e)
{
byte[] dl = new byte[1024];
UdpClient udp = new UdpClient();
IPEndPoint ipe = new IPEndPoint(IPAddress.Broadcast, 10); udp.EnableBroadcast = true;
byte[] dl = new byte[1024];
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0);
UdpClient udp = new UdpClient(12);
Trang 27{
UdpClient u1 = new UdpClient(200);
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0); byte[] M;