基於TCP/UDP協議的Socket流程

1.利用Tcp協議編程
1)服務器端:
     a)建立TCP監聽器TcpListener對象。
                   TcpListener tl=new TcpListener(端口號);

     b)啓動監聽器
                    tl.Start();

     c)用監聽器獲取連接進來的套接字(Socket)
                    Socket s=myList.AcceptSocket();

     d)通過Socket的Receive方法獲取客戶端發送的數據
                   byte [] result=new byte[1024];
                   int k=s.Receive(result);

      e)通過Socket的Send方法向客戶端發送數據
                    byte[] st=System.Text.Encoding.Default.GetBytes(“text”);
                    s.Send(st);

      f)在通訊結束後,需要釋放資源結束監聽
                    s.Close();
                    tl.Stop();

 

2)客戶端:
     a)建立TCP客戶端TcpClient對象。
                    TcpClient tcpclnt = new TcpClient();

     b)連接服務器
                      tcpclnt.Connect(IP地址字符串,端口號);

     c)獲得客戶端網絡傳輸 流
                      Stream stm =tcpclnt.GetStream();

     d)通過Stream的Write方法向服務器端發送的數據
     e)通過Stream的Read方法讀取服務器段發來的數據

     f)在通訊結束後,需要釋放資源,結束和服務器的連接
                      tcpclnt.Close();

 

2.利用UDP協議編程
a)建立UDP客戶端UdpClient對象。
         UdpClient uc=new UdpClient(端口號);

b)連接對方遠程主機
         uc.Connect(IP地址,對方遠程主機的端口號);

c)通過uc的Receive方法獲取遠程主機發送來的數據
    IPEndPoint ip=new IPEndPoint(IPAddress.Parse(IP字符串),端口號);
    byte[] b=uc.Receive(ref ip);

e)通過uc的Send方法向遠程主機發送數據
          byte[] st=System.Text.Encoding.Default.GetBytes(“text”);
          uc.Send(st);

f)在通訊結束後,需要釋放資源
          uc.Close();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章