读书人

android使用socket与PC端进展连接失败

发布时间: 2013-12-02 12:00:40 作者: rapoo

android使用socket与PC端进行连接失败
作了一个java的服务器,运行在本机上,本机ip地址是192.168.0.110
服务器代码为:

static int clientNum = 1;

public static void main(String[] args) {
// TODO code application logic here
ServerSocket server = null;

try{
server = new ServerSocket(8316);
}catch(IOException e){
e.printStackTrace();
System.exit(-1);
}

while(true){
try{
Socket ss = server.accept();
new ServerThread(ss,clientNum).start();
}catch(Exception e){
e.printStackTrace();
}
clientNum++;
}

}

}


android客户端使用本机上的模拟器运行,客户端代码为:
public class MobileNewsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Socket socket = null;
DataInputStream dis;
try{
socket = new Socket("192.168.0.110 ",8316);
dis = new DataInputStream(socket.getInputStream());

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

setContentView(R.layout.main);
}
}


现在客户端和服务器无法建立连接
已经在Manifest里面写了

<uses-permission android:name="android.permission.INTERNET" />


帮忙看看哪里出了问题
[解决办法]
没有详细的错误内容,搞不好只是你的windows的防火墙在作怪。

请先在windows server上telnet localhost 8316看看能不能有效建立Socket
再在windows server上telnet xxx.xxx.xxx.xxx 8316 把xxx.xxx.xxx.xxx换成你的windows server 的网卡IP,这步确认server socket已经有效侦听8316端口。
然后再别的机器上再telnet xxx.xxx.xxx.xxx 8316看看从其它设备或主机是否可以有效与服务器建立Socket

以上都没问题,再把出错的logcat粘上来给大家看看吧。
[解决办法]
如果虚拟机是4.0以上滴,可能会有问题喔
4.0以上不充许直接在界面上用SOCKET

读书人网 >Android

热点推荐