몇 가지 연결을 추적하고 사용 가능한 데이터를 recv'ing 꽤 기본적인 TCP 서버가 있습니다. 그러나, 프로그램 자체에서 이벤트를 인위적으로 트리거하고 싶습니다. 따라서 처럼 내 컴퓨터의 TCP 서버 데이터를 보낼 수 있습니다.은 sock1 또는 sock2에서 왔지만 실제로는 다른 곳에서 온 것입니다. 가능한가, 아니면 전혀 명확한가?poll()을 사용하여 간단한 TCP 서버를 실행하면 어떻게 "인위적으로"이벤트를 트리거 할 수 있습니까?
struct pollfd fds[2];
fds[0].fd = sock1;
fds[1].fd = sock2;
while (true) {
int res = poll(fds, 2, timeout);
if ((fds[0].revents & POLLIN)){
//ready to recv data from sock1
}
if ((fds[1].revents & POLLIN)){
//ready to recv data from sock2
}
}
다른 소켓으로 localhost에 연결하지 않고 sock1 또는 sock2의 대기열에 데이터를 저장 하시겠습니까? –
정확히, 새로운 소켓으로 localhost에 연결하고 싶지 않습니다. 실제로는 기존 소켓 중 하나를 "스푸핑 (spoof)"하고 싶습니다. –