Android-android 用socket连接服务器,程序异常怎么解决?
android 用socket连接服务器,但是如果有如下几种原因:
服务器没有打开、
客户端要连接的IP不对、
Server和Client的端口不一致、
客户端与服务器的接收和发送没有一一对应,
导致等待超时,出现异常,程序退出,这如何解决?
我指的是如何判断socket不能连接而给出提示但程序不会异常退出。
按钮监听的:
public void MyListener(View target) throws UnknownHostException, IOException, TimeoutException{
switch (target.getId()) {
case R.id.button01:
//房间一,主灯
Action(0x00, 0x05, 0x01, 0x29, 0x3D, 0x00,0x00, 0x00, 0x56);
}
socket的:
public void Action(int a,int b,int c,int d,int e,int f,int g,int h,int i) throws UnknownHostException, IOException, TimeoutException {
OutputStream os = Singleton.getSocket().getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.write(a);
dos.write(b);
dos.write(c);
dos.write(d);
dos.write(e);
dos.write(f);
dos.write(g);
dos.write(h);
dos.write(i);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
用try catch把你的整个请求服务器的方法包起来。
public void Action(int a,int b,int c,int d,int e,int f,int g,int h,int i){
try {
OutputStream os = Singleton.getSocket().getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.write(a);
dos.write(b);
dos.write(c);
dos.write(d);
dos.write(e);
dos.write(f);
dos.write(g);
dos.write(h);
dos.write(i);
catch (UnknownHostException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}catch (TimeoutException e){
e.printStackTrace();
}
}