TCP/IP 소켓 프로그램이 있으며 클라이언트 프로그램은 C++로 작성되었습니다. 서버 프로그램은 Java로 작성됩니다. 클라이언트에서 서버 소켓으로 보낸 메시지는 바이트, 정수 및 IP 주소 시퀀스입니다. 메시지의 크기를 줄이려면 바이트 만 보내고 바이트 만 수신 한 다음 서버 측에서 변환을 수행하려고했습니다. diff 값 사이에 구분 기호가 없습니다.C++ 클라이언트 및 Java 서버 메시지
이렇게하려면 클라이언트 측에서 실행해야하는 모든 값을 바이트 배열로 변환하여 보내야합니까?
int를 C++에서 보내는 경우 서버 측에서 무엇을 얻을 수 있습니까?
정확하게 IP 주소를 보내고받는 방법은 무엇입니까?
은 내가 (예 : INT는 C++로 4 바이트입니다.) 데이터 형식에 손 전에 바이트 수를 알고있는 경우에, 내 서버에 내가 오는 4 바이트의 배열을 변환의 ByteBuffer를 사용할 수 있음을 알고있다 int로.
누군가 기본 해결책이 있다면 알려주십시오. 덕분에,
는 그래서 내가 C++ 클라이언트에서 바이트 배열 ::
#include <vector>
using namespace std;
vector<unsigned char> intToBytes(int paramInt)
{
vector<unsigned char> arrayOfByte(4);
for (int i = 0; i < 4; i++)
arrayOfByte[3 - i] = (paramInt >> (i * 8));
return arrayOfByte;
}
에 내가 ByteBuffer를 다시 변환하는 데 사용할 자바 서버 nt로 말을 변환하려면이 같은 것을 쓰고 편집했다. 이것이 올바른 방법입니까?
왜 아래쪽 투표 ?? – kavita