android Socket 超时问题 你可以在m_hSocket.connect(remoteAddr, 5000);前后加上当前时间,然后计算两个时间差,看是否超时刚好为5000毫秒,以此判断此语句是否运行正常。否则,检查其它代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以自己写个定时器: Timer timer = new Timer(); TimerTask tt = new TimerTask() { @Override public void run() { //判定超时后执行操作 handler.sendEmptyMessage(1); if (timer!=null) { timer.cancel(); timer.purge(); System.out.println("关闭定时器!"); } } }; //启动定时器 timer.schedule(tt, 30000, 1); 你可能需要搞清楚连接超时和socket超时的区别 这个是我连接服务端的主要代码SocketAddress remoteAddr = new InetSocketAddress(szIP,nPort); //获取sockaddress对象 m_hSocket = new Socket(szIP, nPort);m_hSocket.connect(remoteAddr, 5000); //设置连接超时 5秒m_inStream = new DataInputStream(m_hSocket.getInputStream());m_outStream = new DataOutputStream(m_hSocket.getOutputStream());我该吧您这个自己创建的计时器加在哪里呢? socket超时是socket对象执行setSoTimeout(int timeout); 方法,你仅仅是设置的是连接超时 一样的,我并不是连不上,我是在测试,所以我那个IP是随便搞的一个IP。 OK,解决了,看得这位大哥的文章,希望后继者,也参考一下http://blog.csdn.net/wq105032007067/article/details/6222581不过还是很感谢各位大哥的关注。结贴给分,呵呵呵 socket = new Socket();socket.connect(new InetSocketAddress(IConstants.SERVER_IP, IConstants.SERVER_PORT), 3000); 亲。new socket()本身就是个阻塞的函数。你在它屁股后面设置,当然是无效的。 java 十六进制字符串转换问题 help 关于前置摄像头的问题 怎么把bitmap转换成视频 感觉自己很厉害的过来 android 在线播放视频如何实现?有哪些方式? 有谁知道哪些不错的编程论坛?分享一下!谢谢 Arcgis for android 如何重写TiledServiceLayer unfortunately,xxxx has stopped 问题 关于android app的开发中定位功能的实现 求大神帮忙反编译APK UI线程又被阻塞了吗?确实另开了线程 Android游戏开发
Timer timer = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//判定超时后执行操作
handler.sendEmptyMessage(1);
if (timer!=null) {
timer.cancel();
timer.purge();
System.out.println("关闭定时器!");
}
}
};
//启动定时器
timer.schedule(tt, 30000, 1);
这个是我连接服务端的主要代码
SocketAddress remoteAddr = new InetSocketAddress(szIP,nPort); //获取sockaddress对象
m_hSocket = new Socket(szIP, nPort);
m_hSocket.connect(remoteAddr, 5000); //设置连接超时 5秒m_inStream = new DataInputStream(m_hSocket.getInputStream());
m_outStream = new DataOutputStream(m_hSocket.getOutputStream());我该吧您这个自己创建的计时器加在哪里呢?
不过还是很感谢各位大哥的关注。结贴给分,呵呵呵
socket.connect(new InetSocketAddress(IConstants.SERVER_IP, IConstants.SERVER_PORT), 3000);