记得LZ之前问过一个套接字阻塞的问题啊 , 还没解决?
你的意思是客户端这边始终读不了接收的数据?
LZ再上一点代码看看
你的意思是客户端这边始终读不了接收的数据?
LZ再上一点代码看看
解决方案 »
- 讯飞语音 如何更改recognizerdialog外观
- 跪求,一个简单的手机模拟器解决方案及源码!!!
- android开发时遇到的错误
- draw.setBounds 这是什么意思
- seekbar控制音量大小 ?
- Android SDK 在线安装的问题,苦闷中,渴望得到你的点拨!
- 在android中我安装了某apk,然后我把它给卸载掉。在程序中用说明可以知道该apk不在了呢?
- webview加载字符串拼成的html,有点链接点击无响应怎么回事?
- android ROM 定制与做APP开发有什么区别?
- 从网络上获取xml数据,但网页要翻墙才可以看到,总是连不上,求大神指点
- 怎么让界面显示的时候不聚焦任何控件
- android总联不上PC
Socket socket = new Socket(serverAddr, 8500);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
byte[] sendpacket = new byte[70];
byte[] Namepacket = new byte[13];
Namepacket = m_strLoginName.getBytes();
byte[] Passwordpacket = new byte[33];
Passwordpacket = getMD5Str(m_strPassWord).getBytes();
byte[] headpacket = BuildMSQHead(1,CSM_LOGININ,5, (short)46);
System.arraycopy(headpacket, 0, sendpacket, 0, headpacket.length);
System.arraycopy(Namepacket, 0, sendpacket, 19, Namepacket.length);
System.arraycopy(Passwordpacket, 0, sendpacket, 32, Passwordpacket.length);
socket.getOutputStream().write(sendpacket);
socket.getOutputStream().flush();
Log.i("strRecv", socket.toString());
String strRecv = br.readLine();
if(strRecv == "")
{
if(socket != null)
socket.close();
m_bIsLoginSuccess = true;
}
BaseClass.this.LoginResult();
我都是这样调试的。
这个问题的解决我建议你就不要用字符流去读取,用字节流读取,然后再编码转换一下显示出字符串,因为是和C++通讯,所以编码方式不同,会出现乱码,关于乱码的问题网上解决很多,大概就是getBytes(),然后
new String("你的字符转","GB2312");方法,
如果你非要用字符流,那你就认为的加分隔符,或者你就用read方法
用readline来接收数据时,发送的数据里面必须包括换行符
我用InputStream的read来读字节流
但是读出来的这个数据要转一下~
谢谢大家的帮助~