服务器端:delphi使用Indy的TCPServer编写客 户 端:Android的Socket。——都是阻塞方式——目前碰到一个奇怪的问题,android向服务器发送数据,有时候是对的,但是大多数时候数据前面加了若干个"#FF",喵了个咪的,这些#FF那来的,实在纳闷!!!例如:发送数据“@AAA#”,服务器收到的却是“ @AAA#”,用16进制查看,前面空的字符全是#FF。下面归纳一下测试的现象:1. 模拟器测试没有这个问题,非常正常,真机测试就会出现(2台真机,一个2.3系统,一个4.0系统,都出现这个问题);2. 发送用“BufferedWriter”和“PrintWriter”都测试了,结果一样,无论哪个,发送的是String还是char[]都这样;3. 服务器端调试发现,前面的#FF的数量是变化的,第一次比较少,然后递增,到一定数量就会发送成功一次,然后又开始反复这种现象。泪奔啊~~~~~~求帮助!!!!!
服务器端:delphi使用Indy的TCPServer编写客 户 端:Android的Socket。——都是阻塞方式——目前碰到一个奇怪的问题,android向服务器发送数据,有时候是对的,但是大多数时候数据前面加了若干个"#FF",喵了个咪的,这些#FF那来的,实在纳闷!!!例如:发送数据“@AAA#”,服务器收到的却是“ @AAA#”,用16进制查看,前面空的字符全是#FF。下面归纳一下测试的现象:1. 模拟器测试没有这个问题,非常正常,真机测试就会出现(2台真机,一个2.3系统,一个4.0系统,都出现这个问题);2. 发送用“BufferedWriter”和“PrintWriter”都测试了,结果一样,无论哪个,发送的是String还是char[]都这样;3. 服务器端调试发现,前面的#FF的数量是变化的,第一次比较少,然后递增,到一定数量就会发送成功一次,然后又开始反复这种现象。泪奔啊~~~~~~求帮助!!!!!
呃,补上代码:private Socket TCPSocket = null;
private BufferedReader TCPIn = null;InetAddress ia = InetAddress.getByName(sHost);
TCPSocket.connect(new InetSocketAddress(ia, iPort), 3000);
TCPOut = new BufferedWriter(new OutputStreamWriter(TCPSocket.getOutputStream()));TCPOut.write("...");
TCPOut.flush();
DataOutputStream的writeUTF试试 看看没有问题了