tcp 샘플 같은거 보면 서버랑 클라이언트 둘로 올리던데
서버를 두개 올려서 쓰라는건가요?
아니면 사용자쪽에서 돌아가야 되는건가요?
사용자가 go run을 어떻게 하나요?
아니면 패키지 같은 형태로 쓰라는건가요?
만약 서버를 2개 돌리라는거면
사용자는 자바스크립로 데이터를 클라이언트라는 코드가있는 서버로 던지면
클라이언트 코드가 있는 서버가 서버로 쓰여진 코드가 있는쪽으로 데이터를 보내는건가요?
tcp 샘플 같은거 보면 서버랑 클라이언트 둘로 올리던데
서버를 두개 올려서 쓰라는건가요?
아니면 사용자쪽에서 돌아가야 되는건가요?
사용자가 go run을 어떻게 하나요?
아니면 패키지 같은 형태로 쓰라는건가요?
만약 서버를 2개 돌리라는거면
사용자는 자바스크립로 데이터를 클라이언트라는 코드가있는 서버로 던지면
클라이언트 코드가 있는 서버가 서버로 쓰여진 코드가 있는쪽으로 데이터를 보내는건가요?
1. 일단 헷갈리지 않게 개념부터 확실히 짚고 넘어갑시다. 클라이언트는 서버가 아닙니다. 네트워크 통신은 기본적으로 서버(정보를 제공하는 쪽)와 클라이언트(정보를 요청하는 쪽) 두 개로 나뉘어져 있습니다. 우리가 흔히 쓰는 http 통신을 예로 들면, 사이트의 컨텐츠를 제공하는 서버와, http 서버로부터 정보를 받아오는 클라이언트인 웹 브라우저로 이루어져 있습니다. tcp 통신도 마찬가지입니다. 정보를 제공하도록 열려있는 tcp 서버가 있고, 이에 접속하고 정보를 받아오기 위한 클라이언트가 있습니다. 둘은 서로 구분되는 것들이고, 따라서 실행도 각각 해야 합니다.
2. 실행해보고 싶다면, 우선 원하는 컴퓨터에서 tcp 서버 코드를 돌리세요. 그러면 그 컴퓨터와 tcp 연결이 가능한 모든 컴퓨터에서(서버가 실행되고 있는 컴퓨터 포함) 그 서버로 연결할 수 있습니다. 다만 tcp 통신규약대로 통신을 해야 하기 때문에 tcp 통신을 지원해줄 클라이언트가 필요합니다. 이를 위해 클라이언트 샘플 코드를 돌려보셔도 되고, tcp 통신규약만 만족한다면 다른 언어로 짜든 뭘 하든 잘 연결될 겁니다.
3. 아예 tcp 통신용 라이브러리를 새로 만든 게 아니라면 패키지로 실행할 일은 없다고 보시면 됩니다. 어떤 샘플을 보셨는지는 모르겠지만, 그냥 간단한 예제 코드 보신 경우라면 서버 코드랑 클라이언트 코드 따로 실행시켜주면 됩니다. 4. tcp통신은 웹브라우저를 통해 실행되지 않습니다. 따라서 Node.js같은 자바스크립트 런타임을 실행하는 게 아닌 이상, tcp 통신에서 자바스크립트를 사용할 일은 없습니다. html, css, javascript 그런 거 없이 클라이언트 프로그램을 통해 직접 서버로 요청사항 보내고 응답을 받는 식입니다.
이것저것 쓰다 말이 길어졌는데, 서비스 제공 위해 컴퓨터 특정 포트 열어주고 요청에 반응해주기 위해 필요한 게 서버 프로그램, 이 서버에 접속하기 위해 필요한 게 클라이언트 프로그램이라는 것만 이해하시면, 나머지는 별 문제 없이 넘어갈 수 있을 것 같네요.
이해가 안 되는 게 있어요 아니면 원하는 답변이 이런 게 아니었나요?
웹소켓 보다 빠르다고 해서 알아봤는데 못쓰는건가요? 일단 tcp 데이터를 json으로 변경하면 웹으로도 tcp 채팅이 가능하지 않을까요?
아 그건 가능해요. 요 글 참고하시면 도움될 것 같네요(
https://kamang-it.tistory.com/m/entry/golanggotcphttptcp서버와-http클라이언트-통신하기?category=751617)
없는 페이지네요 ㅇㅅㅇ 지금 https tls 해결못하고 있어서 tcp는 천천히 해보고 연락드릴께요 친절한 답변 감사합니다 ^ㅂ^
지금 쓰는 웹브라우저(클라이언트) 없이 디씨에 들어올 수 있나여? ㅇㅂㅇㅎ
광고 댓밑에있어서 광고인줄알았어요 운영자분이셨네요? ㅇㅂㅇ 이거 표정인건지 아니면 뜻이 있는건지 궁굼합니다 ㅇㅂㅇ
ㅇㅂㅇ이건 그냥 얼굴이고영 ㅇㅂㅇㅎ tcp위에 http를 얹는 거랑 http위에 다시 웹소켓을 얹는 거랑 payload 직전에 웹소켓 전환할 때 handshake 하는 헤더유무 차이 밖에 없을 거라서 의미가 있을지는 모르겠네영 ㅇㅂㅇa
그리고 위 대댓글에 링크 안눌러진대서...
https://kamang-it.tistory.com/m/entry/golanggotcphttptcp%EC%84%9C%EB%B2%84%EC%99%80-http%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-%ED%86%B5%EC%8B%A0%ED%95%98%EA%B8%B0?category=751617
디씨에서 링크가 제대로 안생기네영 ㅇㅂㅇ;; 그냥 위에 주소 긁어서 브라우저에 붙여넣기 하심 될덧 ㅇㅂㅇa
기본적으로 TCP 연결이 뭔지부터 공부해보셔야 할듯합니다 선생님