Wednesday, April 15, 2009

2008-2009 SW210 Лекц 9 - Сүлжээний програмчлал - Демо

Визуаль програмчлал хичээлийн 9 -р лекцээр бид Microsoft .NET технологи ашиглан сүлжээний орчинд ажиллах програм хэрхэн бичих талаар авч үзэн, холбогдох жишээг хамтдаа хийлээ.

Энэхүү жишээний програм нь сервер, клиент хоёрыг давхар агуулах нэг формоос тогтож байгаа.



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;

namespace lec9_demo
{
public partial class Form1 : Form
{
Socket _ClientSocket;
Socket _HostSocket;
TcpListener _TcpListener;
IPEndPoint _IpEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5124) ;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
_ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp);
_ClientSocket.Connect(_IpEndPoint);
Byte [] Buffer = System.Text.ASCIIEncoding.ASCII.GetBytes(textBox1.Text);
_ClientSocket.Send(Buffer, 0, Buffer.Length, SocketFlags.None);
timer1.Interval = 10;
timer1.Start();
_ClientSocket.Shutdown(SocketShutdown.Both);
_ClientSocket.Close();
}

private void Form1_Load(object sender, EventArgs e)
{

_TcpListener = new TcpListener(IPAddress.Parse("127.0.0.1"),5124);

}

private void timer1_Tick(object sender, EventArgs e)
{
if (_TcpListener.Pending() == true)
{
_HostSocket = _TcpListener.AcceptSocket() ;
if (_HostSocket.Poll(1, SelectMode.SelectRead))
{
int numBytes = _HostSocket.Available;
Byte [] Data = new Byte[numBytes];
_HostSocket.Receive(Data);
textBox2.Text +=System.Text.ASCIIEncoding.ASCII.GetString(Data) ;
//textBox2.Text += ControlChars.CrLf;
timer1.Stop();
}
}
}

private void button3_Click(object sender, EventArgs e)
{
_TcpListener.Start();
}
}
}

Прожектийг бүхэлд нь татаж авахыг хүсвэл та доорх линкийг дарна уу.
http://www.mediafire.com/file/yojjldgnyyx/lec9_demo.rar

ШУТИС, КТМС -ийн ахлах багш: маг. Ч. Эрдэнэбат
2009-4-15

5 comments:

  1. Сайн байна уу багшаа?
    Нэг юм асуух гэсэн юмаа. 64bit процессортой компьютер дээр Visual Studio 2008-г яаж ажилуулах вэ? Google-с хайгаад олигтой юм олдохгүй байна.

    requested registry access is not allowed

    гэсэн алдаа заагаад байна. VS2008-аа ADMIN эрхээр ажилуулсан ч ялгаагүй байна. Яах вэ багшаа?

    ReplyDelete
  2. Энэ 64 битийн процессортой хамаагүй байхаа. Энэ зүгээр л регистр луу хандах эрх байхгүй байна гэсэн үйлдлийн системийн анхааруулга байх шиг байна.

    ReplyDelete
  3. VS2008 нь зүгээр ажиллачихаад шинэ прожект үүсгэхээр л ийм алдаа заагаад бх шиг байгаа юм.

    ReplyDelete
  4. Сайн хэлж мэдэхгүй юм.

    ReplyDelete
  5. за за баярлалаа. багшаа.

    ReplyDelete