套接字编程在发送数据时丢弃(;)字符

时间:2013-10-15 06:49:34

标签: java c++ sockets tcp-ip

我通过java中的socket发送一些字符并用C ++代码接收它。它适用于每个角色,但是当我发送分号(;)时,它不会在另一端收到。只有分号才会被删除。我不理解这一点,它奇怪而奇怪。任何人都可以请帮助

Java代码(客户端)

我调用此函数并将字符串作为参数传递,其中包含我要与(;)一起发送的所有字符。

public void send_string(Socket socket, String str) throws IOException
{
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.writeBytes(str);
out.flush();
}

C ++代码(服务器)

int main()
{
std::string recvData = ""; 
try
{
ServerSocket server ( 30000 );
while ( true )
{
ServerSocket new_sock;
server.accept ( new_sock );
try
{
while ( true )
{
new_sock >> recvData;
// processing of received data, here i don't see (;) which was sent
}
}
catch(SocketException &e)
{
cout<<e.description().c_str();
}
}
catch(SocketException &e) 
{
cout<<e.description().c_str();
}

0 个答案:

没有答案