1
我有一個C++客戶端和一個Java服務器。我只是試圖從客戶端發送一個字符串「測試」。這裏是我的相關的Java代碼,從客戶端接收空白行
Socket clientSocket = serverSocket.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String line = "";
while((reader.readLine()) != null) {
System.out.println("Recieved Something. " + line.length());
System.out.println(line);
}
這裏是我的輸出(有收到東西后,一個空行)
Recieved Something. 0
Recieved Something. 0
以及C++代碼(不完全知道什麼你們需要的,因爲我是新來的C++
SOCKET Socket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(Socket==INVALID_SOCKET)
{
printf("Winsock error - Socket creation Failed!\r\n");
WSACleanup();
return 0;
}
struct hostent *host;
if((host=gethostbyname("localhost"))==NULL)
{
printf("Failed to resolve hostname.\r\n");
WSACleanup();
return 0;
}
SOCKADDR_IN SockAddr;
SockAddr.sin_port= htons(2501);
SockAddr.sin_family= AF_INET;
SockAddr.sin_addr.s_addr= *((unsigned long*)host->h_addr);
if(connect(Socket,(SOCKADDR*)(&SockAddr),sizeof(SockAddr))!=0)
{
printf("Failed to establish connection with server\r\n");
WSACleanup();
return 0;
}
string toSend = "Test\n";
send(Socket,toSend.c_str(), strlen(toSend.c_str()), 0);
那麼,爲什麼我沒有收到測試字符串?
感謝
哇,剛剛看到..我已經做了這一千倍的java方。 – Austin