当前位置: 代码迷 >> Android >> 请问一下Socke 接收的有关问题
  详细解决方案

请问一下Socke 接收的有关问题

热度:75   发布时间:2016-04-28 05:19:36.0
请教一下Socke 接收的问题
new Thread() {
public void run() {
System.out.println("Threadstart");
try {

socket = new Socket("10.10.100.254", 8899);

os = socket.getOutputStream();
pw = new PrintWriter(os);

is = socket.getInputStream();
br = new BufferedReader(new InputStreamReader(is));
socket_bool = true;
while (socket_bool) {
System.out.println(socket_bool);
try {
while (!((Socket_ReplyData = br.readLine()) == null)) {
System.out.println("接收的信息:"
+ Socket_ReplyData);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

} catch (UnknownHostException e) {
e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();
}

System.out.println("ThreadEnd");

}

}.start();

我的想法是建立socke 获得他的输入输出流后做一个while 循环 接收服务器发来的值 ,但是这样可以连接就是无法接收到数据,这样做不对吗?

------解决方案--------------------
首先帮顶,其次,我也菜鸟,但是你的服务端呢?
------解决方案--------------------
人家服务端可能需要对接数据包,服务端没收到有效的对接数据包则不给你返任何数据
------解决方案--------------------
Socket_ReplyData = br.readLine() 这是按照行读取,你要确保你的服务器是按行发送的 有\r\n这样的结束符。
建议你用 流的方式读取 ,不要用字符串行读取。
------解决方案--------------------
你可以用telnet命令看下有没有数据输出,再随便敲些字符试试,等同于往服务端发这些字符了。
  相关解决方案