본문 바로가기

카테고리 없음

SMART FACTORY - 2020.07.30 C# TCPLISTENR/THREAD

반응형

using System;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace _20200730_c샵_공부
{
    class Program
    {
        static void Main(string[] args)
        {

            TcpListener tcp =new TcpListener(IPAddress.Any, 7000);
            tcp.Start();
            Console.WriteLine("서버가 시작되었습니다...");
            TcpClient atcpClient = tcp.AcceptTcpClient();
        }
    }

이렇게 짐작을 해서 짠다 . 

 

using System;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace _20200730_c샵_공부
{
    class Program
    {
        static void Main(string[] args)
        {

            TcpListener tcp =new TcpListener(IPAddress.Any, 7000);
            tcp.Start();
            Console.WriteLine("서버가 시작되었습니다...");
            TcpClient atcpClient = tcp.AcceptTcpClient(); //블록킹
            Console.WriteLine("클리아언트가 접속 되었습니다.");
            tcp.Stop(); // 더이상 쓰지 않을꺼라서 스톱/ 하나 접속시켜서 TcpListener 더이상 필요 없다.
            NetworkStream anetworkStream = atcpClient.GetStream();
            byte[] buffer=new byte[1024];
            anetworkStream.Read(buffer, )
        }
    }

서버 개설 

using System;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace _20200730_c샵_공부
{
    class Program
    {
        static void Main(string[] args)
        {

            TcpListener tcp =new TcpListener(IPAddress.Any, 7000);
            tcp.Start();
            Console.WriteLine("서버가 시작되었습니다...");
            TcpClient atcpClient = tcp.AcceptTcpClient(); //블록킹
            Console.WriteLine("클리아언트가 접속 되었습니다.");
            tcp.Stop(); // 더이상 쓰지 않을꺼라서 스톱/ 하나 접속시켜서 TcpListener 더이상 필요 없다.
            NetworkStream anetworkStream = atcpClient.GetStream();
            byte[] buffer=new byte[1024];
           int BufferCount = anetworkStream.Read(buffer, 0, buffer.Length);//반환 값은 읽어오는 갯수
            Console.WriteLine("읽어 들인 데이터의 크기는 : {0}",BufferCount);
            Console.WriteLine("읽어 들인 데이터의 내용은 : {0}", Encoding.UTF8.GetString(buffer));
            buffer = Encoding.UTF8.GetBytes("검은고양이 내로내로내로"); //바이트를 바꿔준다.  
            anetworkStream.Write(buffer,0,buffer.Length);
            Console.WriteLine("Client로 회신한 데이터의 내용은 : {0}", Encoding.UTF8.GetString(buffer));
            Console.WriteLine("서버를 종료합니다");
            anetworkStream.Close();
            atcpClient.Close();
        }
    }
}

 

using System;
using System.Diagnostics;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace _20200730_c샵_공부
{
    class Program
    {
        static void Main(string[] args)
        {


            TcpClient atcpClient = new TcpClient("192.168.0.114",7000);
            Console.WriteLine("서버에 접속 합니다.");
           
            NetworkStream anetworkStream = atcpClient.GetStream(); //통신할 때 필요한거라 필요 
            byte[] buffer = Encoding.UTF8.GetBytes("뇌는 장식입니다...");
            anetworkStream.Write(buffer, 0, buffer.Length);
            Console.WriteLine("서버로 전송한 데이터의 내용은 : {0}", Encoding.UTF8.GetString(buffer));
            buffer = new byte[1024];
            int BufferCount = anetworkStream.Read(buffer, 0, buffer.Length);//반환 값은 읽어오는 갯수
            Console.WriteLine("서버가 전송한 데이터의 크기는 : {0}", BufferCount);
            Console.WriteLine("서버가 전송한 데이터의 내용은 : {0}", Encoding.UTF8.GetString(buffer));
            
            
           
            Console.WriteLine("클라이언트를 종료합니다");
            anetworkStream.Close();
            atcpClient.Close();
        }
    }
}

 

시험  : 내가 사는 기상 정보 파이선으로 출력하는거 ! 인공데이터 받아서  결과 캡처 한장 소스 캡처 한장 ! 수업시간에 하라할것 오늘 공부하자 복습!!!

 

 

 

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {

            Thread thread = Thread.CurrentThread;
            Console.WriteLine(thread.ThreadState);
            Console.WriteLine(DateTime.Now);
            Thread.Sleep(5000);
            Console.WriteLine(DateTime.Now);

            Thread t = new Thread(threadFunc);
            t.Start();
        }

        static void threadFunc()
        {
            Console.WriteLine("threadFunc run!");
            Console.WriteLine("60초 위에 프로그램 종료");
            Thread.Sleep(1000 * 60);
            Console.WriteLine("스레드 종료!");
        }
    }
}

반응형