有没有办法通过socket发送CR(0x0D)和LF(0x0A)?
我有一些数据,比如下面的 char 缓冲区。我想要一个能够发送一些二进制数据的解决方案(范围应该是完整的 8Bit = 0x00 到 0xFF)。
套接字“connectedSocket”已成功设置。
char bufSend[] = {0x01, 0x01, 0x0A, 0x04, 0x44, 0x0D, 0x12};
ret = send(connnectedSocket, bufSend, 7, 0);
if(SOCKET_ERROR == ret) {
printf("Error: send, code: %d\n", WSAGetLastError());
return 1;
}
我收到了返回消息:10053 = WSAECONNABORTED
如果我将数据更改为没有 0x0A 和 0x0D 的内容,则不会出现错误。
客户端是用java编程的:
if (socket.isConnected()) {
out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// start connection
out.println(CONNECTION_BEGIN);
inMessage = in.readLine();
System.out.println("data length: " + inMessage.length());