我写了一个小客户端服务器应用程序,它连接c ++服务器和java客户端。现在,当我从服务器向客户端发送字符串时,一切正常,但是当我从客户端向服务器发送字符串时,我得到了这个输出:
Hello╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠└Ű=Ď
这是我的C ++服务器代码:
int main()
{
long SUCCESSFUL;
WSAData WinSockData;
WORD DLLVERSION;
DLLVERSION = MAKEWORD(2, 1);
SUCCESSFUL = WSAStartup(DLLVERSION, &WinSockData);
SOCKADDR_IN ADDRESS;
int AddressSize = sizeof(ADDRESS);
SOCKET sock_LISTEN;
SOCKET sock_CONNECTION;
sock_CONNECTION = socket(AF_INET, SOCK_STREAM, NULL);
ADDRESS.sin_addr.s_addr = inet_addr("127.0.0.1");
ADDRESS.sin_family = AF_INET;
ADDRESS.sin_port = htons(8085);
sock_LISTEN = socket(AF_INET, SOCK_STREAM, NULL);
bind(sock_LISTEN, (SOCKADDR*)&ADDRESS, sizeof(ADDRESS));
listen(sock_LISTEN, SOMAXCONN);
char msg[200];
string MSG;
for (;;)
{
cout << "\n\tSERVER: Waiting for incoming connections...";
if (sock_CONNECTION = accept(sock_LISTEN, (SOCKADDR*)&ADDRESS, &AddressSize))
{
cout << "\n\tA connection was found!" << endl;
SUCCESSFUL = recv(sock_CONNECTION, msg, sizeof(msg), NULL);
MSG = msg;
cout << MSG << endl;
closesocket(sock_CONNECTION);
}
}
}
这是我的Java客户端代码:
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 8085);
Scanner scanner = new Scanner(socket.getInputStream());
PrintStream printStream = new PrintStream(socket.getOutputStream());
printStream.println("Hello");
} catch (IOException ex) {
System.out.println(ex);
}
}
}