TCP_client

using System;
以下為發送文字

using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace TCP_client
{
    class Program
    {
        public static void Main(string[] args)
        {
            // 建立一個 IP 位址 (IPAddress)。
            IPAddress ipAddr = IPAddress.Parse("192.168.0.43");

            IPEndPoint ipep = new IPEndPoint(ipAddr , 1000);
            //前者為IP位址,後者為port
            Console.WriteLine("IP位址與port: " + ipep);


            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            // Socket(執行個體可以使用的位址配置 , 通訊端類型, 指定通訊協定的類別)

            server.Connect(ipep);   //進行連線

       
            while (true)
            {
                string input = Console.ReadLine();
                if (input == "exit")
                    break;
                byte[] data = Encoding.UTF8.GetBytes(input);    //編碼
                //byte[] data = Encoding.ASCII.GetBytes(input);

                server.Send(data);  //送至接收端
            }

            Console.WriteLine("Disconnecting from server...");
            server.Shutdown(SocketShutdown.Both);
            /* Shutdown:暫停動作,有以下三種
                1.Receive:暫停這個 Socket 上的接收作業。
                2.send:暫停這個 Socket 上的傳送作業。
                3.Both:同時暫停這個 Socket 上的傳送和接收作業。         */

            server.Close(); //關閉連線釋放資源
        }
    }
}


--------------------------------------------------------------------------------------------------------
以下為發送檔案



using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace TCP_client
{
    class Program
    {
        public static void Main(string[] args)
        {
            // 建立一個 IP 位址 (IPAddress)。 欲發送位置IP
            IPAddress ipAddr = IPAddress.Parse("192.168.0.43");
   

            IPEndPoint ipep = new IPEndPoint(ipAddr , 1000);
            //前者為IP位址,後者為port
            Console.WriteLine("IP位址與port: " + ipep);


            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            // Socket(執行個體可以使用的位址配置 , 通訊端類型, 指定通訊協定的類別)

            server.Connect(ipep);   //進行連線

            string path = "D:\\Blue hills.jpg";

            byte[] buffer = File.ReadAllBytes(path);

           Console.WriteLine("buffer大小: " + buffer.Length  );

            while(true)
            {
                Console.WriteLine("結束輸入exit");
                string input = Console.ReadLine();
                if (input == "exit")

                    break;
                    server.Send(buffer);
 
            }
            Console.WriteLine("Disconnecting from server...");
            server.Shutdown(SocketShutdown.Both);
            server.Close(); //關閉連線釋放資源
        }
    }
}

留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值