일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- json
- bitcoin
- Sync
- windows
- channel
- Callback
- Python
- File
- package
- C
- range
- Golang
- 영화
- mutex
- tcp
- go
- FOR
- GO 언어
- go언어
- 리뷰
- JavaScript
- write
- install
- window
- 책
- c++
- http
- Linux
- Close
- API
- Today
- Total
목록server (4)
Code Habit

express란 NodeJS를 사용하여 서버를 쉽게 구성할 수 있게 만든 프레임워크다. - express 설치 npm i express - express 사용 const express = require('express') const app = express() app.get('/', (req, res)=>{ res.send("Welcome !"); }) app.listen(3000, ()=>{ console.log("server is listening 3000"); }) app.get()으로 GET 요청을 정의한다. req는 요청을, res는 응답을 의미한다. 위 코드에서는 res를 통해 "Welcome !"이라는 문자를 전송한다. app.listen()에서 서버를 여는 포트를 지정하고 열렸을 때 콜백함..

nodemon은 소스 코드를 수정할 때마다 코드의 변화를 감지해서 자동으로 서버 프로그램을 재시작해 주는 도구다. 이를 사용하면 소스 코드를 수정할 때마다 서버를 재실행 해야 하는 수고로움을 덜 수 있다. - nodemon 설치 npm i nodemon -g -g옵션을 주어 글로벌 설치한다. 다음 명령어를 통해 실행한다. nodemon --watch src/server.js 터미널에서 실행하면 아래와 같은 메시지가 나온다. 소스 코드 수정 후 ctrl+s 로 저장하면 아래와 같은 메시지가 나오며 서버가 자동으로 재시작 된다.
앞에서 go를 이용한 TCP ehco 서버/클라이언트를 만들어 보았는데, 구현에 문제점이 있다고 지적하였었다. TCP 통신은 원래 데이터간의 경계가 존재 하지 않는다. 즉 네트워크나 PC 상황에 따라 데이터 전송이 밀려 자칫 데이터 전송이 의도치 않게 될수 있다는 것이다. 그래서 이를 보완하기 위해 본 데이터를 전송하기 전에 미리 전송되는 데이터의 size를 알려줘 데이터 전송에 오차가 없도록 할 수 있다. 참 다행히도 TCP 통신은 데이터의 무결성을 보장하기 때문에 전송하는 데이터가 중간에 유실될 염려는 하지 않아도 된다. 다음은 예제 코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 func Co..
go를 이용하여 간단한 tcp echo 서버/클라이언트를 만들어 보겠다. server 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 // main.go package main import ( "io" "log" "net" ) func main() { l, err := net.Listen("tcp", ":8000") if nil != err { log.Println(err) } defer l.Close() for { conn, err := l.Accept() if nil != err { ..