Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
套接字编程在发送数据时删除(;)字符 我在java中通过socket发送一些字符,并用C++代码接收。它适用于每个字符,但当我发送分号(;)时,它不会在另一端收到。只删除分号。我不明白,这很奇怪。有人能帮忙吗_Java_C++_Sockets_Tcp Ip - Fatal编程技术网

套接字编程在发送数据时删除(;)字符 我在java中通过socket发送一些字符,并用C++代码接收。它适用于每个字符,但当我发送分号(;)时,它不会在另一端收到。只删除分号。我不明白,这很奇怪。有人能帮忙吗

套接字编程在发送数据时删除(;)字符 我在java中通过socket发送一些字符,并用C++代码接收。它适用于每个字符,但当我发送分号(;)时,它不会在另一端收到。只删除分号。我不明白,这很奇怪。有人能帮忙吗,java,c++,sockets,tcp-ip,Java,C++,Sockets,Tcp Ip,Java代码(客户端) 我调用此函数并将字符串作为参数传递,该参数包含我要随(;)一起发送的所有字符 C++代码(服务器) intmain() { std::string recvData=“”; 尝试 { 服务器套接字服务器(30000); while(true) { 新的服务器插座; server.accept(新的_sock); 尝试 { while(true) { 新的_sock>>recvData; //对接收到的数据进行处理,在这里我看不到发送的(;) } } 捕获(SocketEx

Java代码(客户端)

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

C++代码(服务器)

intmain()
{
std::string recvData=“”;
尝试
{
服务器套接字服务器(30000);
while(true)
{
新的服务器插座;
server.accept(新的_sock);
尝试
{
while(true)
{
新的_sock>>recvData;
//对接收到的数据进行处理,在这里我看不到发送的(;)
}
}
捕获(SocketException&e)
{

coutHard告诉我。可能是字符编码问题。你可以用来查看实际发送的内容。这样你就可以确定这是客户端问题还是服务器端问题。
DataOutputStream
应该与套接字一起构造一次,而不是每个消息构造一次,并且不需要刷新。当然
new_sock
套接字,<代码> >不是代码> Servocket。< /Cord>我对socket编程非常陌生,不知道Socket和Servocket之间的区别。java字符串是UTF 16编码的,C++ STD:字符串不是。你将有编码发行。好,我怎么解决它?
public void send_string(Socket socket, String str) throws IOException
{
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.writeBytes(str);
out.flush();
}
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();
}