ACE를 사용하여 UDP에서 특정 리스너 (내 로컬 호스트를 사용 중입니다)로 스트림 패킷을 보내는 프로그램을 작성하려고합니다. 이것은 원격 피어로부터 UDP 데이터 그램 스트림을 수신하는 프로그램을 테스트하기위한 것입니다. 지금까지 스트림을 시뮬레이션 할 수 있었지만 실제 네트워크 연결을 사용하여 데이터를 수신하는 방법을 모르겠습니다.C++ 인터넷 사이트에서 내 localhost로 스트림 패킷을 수신하는 방법
이것은 로컬 호스트에 대해 60 패킷을 보내는 코드 예입니다. 송신자에게 충분합니까? UDP는 ACE와 함께 작동하는 방법에 대한 ACE 프로그래머 가이드의
int SendDatagram()
{
const char* message = "this is a message!\n";
ACE_INET_Addr sender (27016, ACE_LOCALHOST);
ACE_INET_Addr listener (27015, ACE_LOCALHOST);
ACE_SOCK_DGRAM udp (sender);
ssize_t sent;
char buffer[BUFSIZ];
size_t size = sizeof(buffer);
for (int i = 0; i < 60 ; i++)
{
sent = udp.send(message, ACE_OS_String::strlen(message) + 1, listener);
if (sent == -1)
{
ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("send")), -1);
}
cout << "sent: " << sent << " bytes" << endl;
}
udp.close();
return 0;
}
동일한 시퀀스의 "UDP"와 "stream"? "TCP"의 철자를 쓰려고하십니까? –
신고 된 곳은 어디입니까? 왜 패킷을받은 다음 수신 한 대신 검사를 보내고 있습니다 - 이것이 실제 코드입니까? 어쨌든 원격 피어로 코드를 실제로 테스트 했습니까? ACE_LOCALHOST 대신 피어가 주소를 지정 했습니까? – Useless
나는 UDP를 의미했다. 내 프로그램은 UDP 데이터 그램의 스트림을 수신합니다. 맞습니다 - 코드는 "보내기"해야합니다. 잘못된 복사 붙여 넣기 ... – inbaly