전체 글 128

c# sftp 사용 ubuntu 로 file 전송

해당 프로그램은 Windows 10 위에서 실행되는 C# 으로 만들어진 sftp client 로, Ubnunt 에서 실행되는 sftp server 로 접속하여, Windows 에서 Ubuntu 로 file을 전송한다. using Renci.SshNet; using Renci.SshNet.Sftp; //IP, Port, ID, PW using (SftpClient client = new SftpClient("111.111.111.111", 22, "root", "root")) { client.KeepAliveInterval = TimeSpan.FromSeconds(60); client.ConnectionInfo.Timeout = TimeSpan.FromMinutes(180); client.Operation..

C# ping program

해당 프로그램은 Windows 10 위에서 실행되는 C# 으로 만들어진 프로그램에서 , 외부 OS에 ping 으로 보내, network 연결을 확인하는 프로그램 입니다. try { Ping ping = new Ping(); PingOptions options = new PingOptions(); options.DonFragment = true; string data = "Hello World!"; byte[] buffer = ASCIIEncoding.ASCII.GetBytes(data); int timeout = 120; PingReply reply = ping.Send(IPAddress.Parse("111.111.111.111"), timeout, buffer, options); if (reply.St..

c# telnet client program

해당 프로그램은 Windows 10 위에서 실행되는 C# 으로 만들어진 telnet client 로, Ubnunt 에서 실행되는 telnet server 로 접속하여, shell script 를 실행하고, 그 결과를 출력하는 작업을 진행한다. using System.Net; using System.Net.Sockets; //IP, Port (telnet default : 23) var ipepBottom = new IPEndPoint(IPAddress.Parse("111.111.111.111"), 23); using (Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) { client.Con..

C# ssh client program

해당 프로그램은 Windows 10 위에서 실행되는 C# 으로 만들어진 ssh client 로, Ubnunt 에서 실행되는 ssh server 로 접속하여, shell script 를 실행하고, 그 결과를 출력하는 작업을 진행한다. using Renci.SshNet; //Renci.sshNet 을 사용한다. //방법 1 using (var sshClient = new SshClient("111.111.111.111.", "root", "root")) //IP, ID, PW { sshClient.Connect(); //비교적 간단한 linux command를 한번 실행시키고, 그 결과를 전부 //받아오기 위해서 사용할 수 있다. var tel = sshClient.RunCommand("ls -l"); st..

Multiplexed I/O - poll()

poll() 은 select()의 여러가지 부족한 부분들을 해결해 주며 select() 에 비해서 우수하다. 1. 사용자가 (highest-number fd + 1) 을 인자로 전달할 필요가 없다. 2. large-valued file descriptor 들에 대해서 좀더 효율적이다. 3. 단일 구조체 배열로 fd 집합을 정환ㄱ한 크기로 생성할 수 있다. 4. 입력 (events 필드)과 출력(revents 필드)이 분리되어 있어서, 변경없이, 배열을 재사용할 수 있다. 하지만 select()는 여전이 사용되고 있는데 이유는 아래와 같다. 1. 매우 간편하고, 몇몇 Unix 시스템은 poll() 지원하지 않는다. 2. 좀더 좋은 timeout 처리 능력을 제공한다. int poll(struct pollf..

Linux_system 2022.09.18

Multiplexed I/O - select()

단일 thread 프로그램에서, 동시에 여러가지 입출력 장치를 처리하고자 할 때 사용하는 매커니즘 이다. Multiplexed I/O 다중 file descriptor 들을 동시에 block 되도록 한다. Block 되어 있는 fd들중에 하나가 읽기나 쓰기 준비가 되면 block 상태에서 해제되는 신호를 보낸다. Multiplexed I/O는 다음과 같은 방식으로 동작한다. 1. file descriptor 들 중에서 하나가 입출력 준비 되었을 때 알려줌. 2. 하나 이상의 file descriptor가 준비될 때 까지 sleep 함 3. blocking 없이, 입출력 준비된 모든 file descriptor들을 제어함 5. 단계 1로 되돌아 가서, 다시 시작함. select() 함수의 경우, Multi..

Linux_system 2022.09.18

node.js 로 linux shell script 실행하기

Ubuntu Linux 에 node.js 를 설치하고, 환경을 만듭니다. https://full-stack-developer.tistory.com/3?category=888454 Express 설치 설정 Express 는 Node.js 위에서 돌아가는 Framework로 쉽게 node.js based web server 를 만들수 있도록 많은 기능들을 제공한다. 전세계 적으로 많은 회사 들에서 Express 를 사용하고 있다. command prompt 를 열고.. full-stack-developer.tistory.com project_root /app.js 를 생성하고 아래와 같이 코딩합니다. const express = require('express') const app = express() //e..

web_fullstack 2022.09.15

QT

https://wikidocs.net/21849 PyQt5 01. 소개 (Introduction) - PyQt5 툴킷의 기본적인 기능들에 대해 다룹니다. - 제공되는 예제 코드들은 파이썬3으로 작성되고 Windows, macOS 환경에서 테스트되었습니다. # ... wikidocs.net https://webnautes.tistory.com/1509 Ubuntu 20.04에 QT 설치하기 Ubuntu 20.04에 QT5 를 설치하는 방법을 다룹니다. 2021. 8. 17 최초작성 우선 g++ 컴파일러가 필요하며 추가로 make를 설치해야 합니다. $ sudo apt-get install build-essential make QT WIKI에서 확인해보니 다음처럼 webnautes.tistory.com ht..

Linux_system 2022.09.07