2016-09-28 3 views
-3

TCP 패킷을 단독으로 보낼 수있는 프로그램을 구현하려고합니다. 이상적으로는 컴퓨터의 포트로 패킷을 보내고 처리하도록하고 싶습니다. 이는 클라이언트/서버 파일 쌍이 없어도이를 수행하려고한다는 것을 의미합니다.소켓 프로그래밍 - TCP 기초

그러나 클라이언트와 서버 파일에 대한 언급이있는 곳이면 어디서든이 작업을 수행하기가 정말 어렵습니다. 그리고 클라이언트 파일이나 서버 파일을 단독으로 실행하려고하면 서로 의존하기 때문에 작동하지 않습니다.

내가 원하는 것을 할 수 있습니까?

+1

원하는 것은 의미가 없습니다. – EJP

+0

연결할 필요가없이 서버를 단독으로 실행하려면 어떤 이점이 있습니까? 아니면 다른 쪽 끝에 연결하기 위해 클라이언트를 실행하지 않아도됩니까? 포트에 데이터를 보내면 해당 포트를 수신하여 서버에서 수신하고 처리해야하는 서버가 있어야합니다. 포트 자체에서 작동하지 않습니다. TCP는 당신이 찾고있는 것이 아닙니다. 올바른 해결책이 무엇인지 말하기는 어렵습니다. 왜냐하면 당신이 성취하고자하는 것에 대해 의미있는 세부 사항을 제공하지 않았기 때문입니다. Google * 프로세스 간 의사 소통 * 및 대상으로하는 OS를 연구하고 조사해보십시오. –

+0

패킷을 보내는 포트를 수신하는 프로그램이 있어야합니다. 그렇지 않으면 대상 컴퓨터의 네트워킹 스택이 패킷을 단순히 삭제합니다. 직접 작성하지 않으려는 경우 기존 서버 프로그램 (예 : telnetd 또는 netcat 또는 유사)을 서버로 사용할 수 있습니다. –

답변

0

왜 그렇게하고 싶은지 확실하지 않습니다. 그러나 이러한 패킷을 보내려면 TCP 대신 IP 원시 소켓 (SOCK_RAW) 용 API를 사용해야합니다.

따라서 "제작 된 TCP"의 페이로드로 IP 패킷을 보낼 수 있습니다.