# 네트워크를 통해 시리얼 포트(COM)에 연결하기

> Clean Markdown view of GeekNews topic #19420. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19420](https://news.hada.io/topic?id=19420)
- GeekNews Markdown: [https://news.hada.io/topic/19420.md](https://news.hada.io/topic/19420.md)
- Type: news
- Author: [regentag](https://news.hada.io/@regentag)
- Published: 2025-02-25T10:37:53+09:00
- Updated: 2025-02-25T10:37:53+09:00
- Original source: [gist.github.com/DraTeots](https://gist.github.com/DraTeots/e0c669608466470baa6c)
- Points: 7
- Comments: 5

## Summary

시리얼 포트를 네트워크를 통해 원격으로 연결하기 위해서는 물리적 시리얼 포트와 통신하는 서버와 가상 시리얼 포트를 사용하는 클라이언트가 필요합니다. 이를 해결하기 위해 텔넷과 RFC2217을 활용한 시리얼 포트 포워딩이 효과적이며, 이를 지원하는 다양한 소프트웨어가 존재합니다. 윈도 환경에서는 hub4com과 com0com을, 리눅스 환경에서는 ser4net과 socat을 사용하여 서버와 클라이언트를 구축할 수 있습니다.

## Topic Body

### 문제  
 * 우리 주변에는 시리얼 포트(흔히 COM 포트라 불리우는)를 통해 연결하는 많은 장치들이 있음. GPS 모듈, IRDA 등등  
 * 우리가 원하는것은 실제 장치는 하나의 컴퓨터에 연결하고, 네트워크를 통해 원격 기기에서 애플리케이션을 실행하는 것  
 * 애플리케이션은 시리얼 포트에서만 데이터를 읽을 수 있으므로 클라이언트는 가상 시리얼 포트를 사용해야 함  
 * 따라서 우리에게 필요한 것은  
   * 물리적 시리얼 포트에서 장치와 통신하고, 네트워크를 통해 서비스 하는 서버  
   * 서버에 연결된 클라이언트  
   * 가상 시리얼 포트  
  
### 해결책  
 * 해결책 중 하나는 텔넷과 [RFC2217 - 텔넷 COM 포트 제어 옵션](https://tools.ietf.org/html/rfc2217)을 함께 사용하는 것  
 * 이것은 위의 문제를 완벽하게 해결함  
 * Telnet+RFC2217 시리얼 포트 포워딩을 지원하는 소프트웨어가 많이 있음 (윈도와 리눅스를 지원하는 서버, 클라이언트들)  
 * 필요하다면 COM 포트를 다중화 하거나, 전송 데이터를 암호화 할 수 있음  
  
### 적용 예시  
#### 윈도  
 * 서버는 [hub4com](https://sourceforge.net/projects/com0com/files/hub4com/2.1.0.0/hub4com-2.1.0.0-386.zip/download)으로 구축  
  * 클라이언트는 hub4com과 가상 시리얼 포트 드라이버인 [com0com](http://sourceforge.net/projects/com0com)을 사용  
  
#### 리눅스  
  * 서버는 [ser4net](http://linux.die.net/man/8/ser2net)으로 구축  
  * 클라이언트는 [socat](https://linux.die.net/man/1/socat) 명령을 사용

## Comments



### Comment 35088

- Author: helloppfm
- Created: 2025-02-25T13:18:11+09:00
- Points: 1

com0com 으로 2개의 시리얼 포트 연결하면 별도의 하드웨어 없이 시리얼 통신 소프트웨어 개발 및 테스트 가능합니다.

### Comment 35076

- Author: halfenif
- Created: 2025-02-25T10:45:15+09:00
- Points: 1

집에 외장형 모뎀이 남아있지만. 더이상 전화선이 없음.

### Comment 35078

- Author: xguru
- Created: 2025-02-25T10:55:38+09:00
- Points: 2
- Parent comment: 35076
- Depth: 1

전 예전에 CTI 개발을 한참 했어서, 구형 교환기 중고를 하나 구해서 사무실에 뒀습니다.   
Dialogic 보드도 이베이에서 구입하고요 ㅎㅎ   
OpenAI 리얼타임 API도 나왔으니, 전화로 듣는 긱뉴스를 한번 개발해보려고 했는데.. 아우 할일이 많아서 자꾸 미뤄지네요.

### Comment 35075

- Author: xguru
- Created: 2025-02-25T10:42:27+09:00
- Points: 1

COM 포트 단어 자체를 굉장히 오랜만에 들어보네요 ㅎㅎ  
요즘은 데스크탑도 안쓰는 사람들이 많아서 아예 모를수도 있을듯요

### Comment 35074

- Author: regentag
- Created: 2025-02-25T10:40:21+09:00
- Points: 1

비슷하게 USB 역시 네트워크를 통한 접근이 가능합니다.   
 * [USB/IP - USB 장치를 네트워크로 공유](https://news.hada.io/topic?id=7439)
