TCP/IP

· Rust
오늘은 Rust를 이용한 다중 클라이언트 채널형 채팅 프로그램을 구현해 보았다. server.rs use std::io::{self, ErrorKind, Read, Write}; use std::net::TcpListener; use std::sync::mpsc; use std::thread; use std::time::Duration; const MSG_SIZE: usize = 100; fn main() { println!("[Server]"); println!("\nEnter server ip"); let mut ip = String::new(); io::stdin().read_line(&mut ip).expect("Reading from stdin failed"); let server_ip = ip..
· Rust
오늘은 간단하게 Rust를 이용하여 다중클라이언트 에코 서비스를 구현해보도록 하겠습니다. server.rs use std::thread; use std::net::{TcpListener, TcpStream, Shutdown}; use std::io::{Read, Write}; use std::str::from_utf8; fn handle_client(mut stream: TcpStream) { let mut data = [0 as u8; 1000]; while match stream.read(&mut data) { Ok(_size) => { let text = from_utf8(&data).unwrap(); print!("[{}] : {}", stream.peer_addr().unwrap(), text)..
· C++
오늘은 C/C++로 echo service를 구현해보았다. 코드 설명은 소스코드에 주석이 다 적혀있있기 때문에 따로 설명은 안하겠습니다. SERVER.h #define _WINSOCK_DEPRECATED_NO_WARNINGS #pragma comment(lib, "ws2_32") #include #include #include #include using namespace std; class server { public: WSADATA wsaData; // WSADATA : Windows 소켓 구현에 대한 정보 포함 구조체 SOCKET server_socket, client_socket; SOCKADDR_IN server_address, client_address; /* SOCKADDR_IN : IPv4의..
· Python
오늘은 파이썬으로 TCP/IP 멀티 스레드 소켓 통신을 하는 다중 클라이언트 채팅 프로그램을 구현해 보았다. [기본 로직] [서버 코드 설명] 패키지, 모듈 선언 import socket import threading from queue import Queue - import socket : 통신을 위한 파이썬 기본 패키지에 포함된 내장 socket 모듈 - import threading : 쓰레드를 사용하기 위한 모듈 - from queue import Queue : FIFO(First In First Out)기반의 자료구조인 큐(queue) 모듈 if __name__ == '__main__': - 해당 파일을 직접 실행 한다면 True 큐 생성 send_queue = Queue() PORT 번호 지정..
STLLIN
'TCP/IP' 태그의 글 목록