Android 7.0中对java.net.Socket做了哪些改动?? 5C

针对android7.0的M3平板使用Socket.getOutPutStream().write()经常性地无法运行 并且还截取不到抛出的异常 经过outPutStream.toString()测试发现 获取到的是形似java.net.SocketOutPutStream@be0653 式样 而在其他设备上获取的却是java.net.PlainSocketImpI$PlainSocketOutPutStream@2a6107a8 造成这两者差异的原因是什么??

2个回答

是程序崩了没异常,还是单纯的没反应。

theskybelongstome
Flamingor 回复wkp111: 是有读取操作 但是同样的代码在低于android7.0的设备上就能正常运行了 我拿了两台M3平板做测试 android6.0的能够正常运行 只有升级到android7.0之后的才会出现这个问题
一年多之前 回复
qq_38074369
wkp111 回复shinelucifer: 那你代码有输入流读取操作吗?因为读取操作是堵塞线程的,看上去就是没反应
一年多之前 回复
theskybelongstome
Flamingor 是单纯的没有反应 通过wifi模块接收不到发送的数据 同时抛出的异常为null
一年多之前 回复

是单纯的没有反应 通过wifi模块接收不到发送的数据 同时抛出的异常为null

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
CRichEditView中如何知道用户对文本做了哪些改动!
用户可能会输入插入替换,粘帖、undo、redo等操作了改变edit中的文本,对应的另一个视图也要跟着改变,现在的问题是我如何知道用户改变了哪些内容(比如添加了哪些内容替换了哪些内容删除了哪些内容以及这些内容的位置),大家帮帮忙啊!
java.io.NotSerializableException: java.net.Socket
rn[code=java]rn case 6: rn Box box9 = new Box();rn box9.setType(6);rn box9.setInfo((box.getName() + "想和你对战,是否同意?"));rn box9.setSocket(customersocket);//放的是发起游戏者的socketrn box9.setCustomer(box.getCustomer());rn sendMessage(box9);rn break;rn [/code]rnrnrn[code=java]rn private void sendMessage(Box box) rn Set custormername = hashonlines.keySet();rn Iterator it = custormername.iterator();rn // 选中的客户rn HashSet Customers = box.getCustomer();rnrn while(it.hasNext()) rn // 在线客户rn String customer = it.next(); rn // 遍历找到选中的客户,发送boxrn if(Customers.contains(customer)) rn Socket socket = hashonlines.get(customer).getSocket();rn ObjectOutputStream oos1;rn try rn oos1 = new ObjectOutputStream(socket.getOutputStream());rn oos1.writeObject(box);rn oos1.flush(); // 刷新该流的缓冲rn catch(IOException e) rn System.out.println(" error in sendMessage !" + e);rn rn rn rn [/code]rnrn[code=java]import java.net.Socket;rnrnpublic class ServerCustomer rn private String name;rn private Socket socket;rn rn public String getName() rn return name;rn rnrn public void setName(String name) rn this.name = name;rn rnrn public Socket getSocket() rn return socket;rn rnrn public void setSocket(Socket socket) rn this.socket = socket;rn rn[/code]rnrnrn[code=java]import java.io.Serializable;rnrnimport java.net.Socket;rnrnimport java.util.HashMap;rnimport java.util.HashSet;rnrnpublic class Box implements Serializable rn private int type; // 0上线, 1群聊 ,2选择聊,-1下线rn private HashSet customer; // 相当于存放选中的客户的一个数组rn private HashSet to;rn public HashMap hashonlines;rn public HashMap hashregister;rn public HashMap hashsockethome; rn private String info; // 发送的内容rn private String timer; // 发送的时间rn private String name; // 发送者的名字rn private String password; // 密码 rn private boolean succeed;rn private Socket socket;rn private int[] array;rn private boolean agree;rn private Chess[][] chesses;rn private String homenumber;rnrn public void setHomenumber(String homenumber) rn this.homenumber = homenumber;rn rn//......rnrn[/code]rnrnrn抛出异常:java.io.NotSerializableException: java.net.Socketrnrn跪求大神破解!
Android 对 Sqlite内核 有改动吗
还是直接进行了一下封装?rn它是如何将其移植到arm平台的?做了哪些相应优化呢
adotable中新增、修改、删除记录后,在提交之前,如何知道对哪些记录做了改动?
rt
python对字幕的改动
#想学英语,下了英语字幕,发现有很多时间戳,打印下来会很占空间,于是用python将时间戳去掉。def model1(): f1=open('coherence.txt','r')#将下载的字幕复制(或者更名)为coherence.txt(只要是txt文件即可)并放在python根目录下 f2=open('test2.txt','w')#打开(没有则新建)test2文件 a=['
Mybatis做了哪些事
1.在未使用Mybatis时: 1.1 我们需要书写配置文件 jdbc.properties 用于数据库信息配置 1.2 我们需要配置JdbcUtils 用于读取jdbc.properties ,加载数据库驱动,连接数据库,和关闭连接。 1.3 需要书写dao接口 1.4 书写dao的实现,dao的实现类调用 JdbcUtils 获取连接,使用连接获取预声明对象,使用预声明对象存sql语句...
创建对象做了哪些事
class Student{ private String name= "刘雯"; private int age=30; public Student(){ name= "李健"; age=44; } //...... } class StudentDemo{ public static void main(Str...
unsupported java.net.Socket methods
我发现JDK1.4的javax.net.ssl.SSLSocket不支持一些java.net.Socket的方法:shutdownOutput(),shutdownInput.rnrn这只是暂时的现象还是因为这些方法和SSL协议冲突呢?rn谢谢rnrnError: java.lang.UnsupportedOperationException: The method shutdownOutput() is not supported in SSLSocketrnjava.lang.UnsupportedOperationException: The method shutdownOutput() is not supported in SSLSocketrn at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.shutdownOutput(DashoA6275)rn
java.net.Socket和GUI的问题
我想把Socket接受的内容即时显示在GUI上,谁能提供一个效率高的方法?rn因为Socket没有数据到达的通知,我想用Event但是不知道怎么用。
android 系统调试串口改动
android 系统的调试串口,想在系统启动完毕后,关闭,做一般的串口使用
vs2010里文件流的定义做了改动?
[code=c]rn#include rnusing namespace std;rn......rnifstream f;rn[/code]rn有错误,鼠标移到ifstream上,显示ifstream是一个模板类,带有两个char参数,所以不是具体类不能这样定义。。rn那两个char参数的意义是什么,要怎么定义?
Android 7.0 的改动(持续更新)
今天Google提供了Android 7.0正式版的推送,那么Android 7.0到底有哪些改动和特点呢,下面我将根据自己查阅的资料做一个笔记,主要是记录对我个人来说比较有感觉的改动。 Android 7.0最终官方代号,定名为“Nougat”(牛轧糖),简称是Android N。分屏多任务在Android N 引入了多窗口支持。进入后台多任务管理页面,然后按住其中一个卡片,然后向上拖动至顶部即
新的C++标准在哪些方面做了改动?
以前用的开发环境是VC6,现在用VS2005了,很多在VC6里没问题的编写方法到2005就出现诸多的问题。近来被这样的问题困扰多时,非常郁闷。微软在VC6后期的版本采用了新的国际通用C++标准,请教大家具体新的标准相比VC6时的做了哪些更新,推荐书或网站都可以,非常感谢!
vs2003到vs2005都有哪些地方做了改动?
vs2003到vs2005都有哪些地方做了改动?rnrn谁有文档资料或者具体问题点(最好跟个例子),先谢过
java.net.Socket Socket 找不到符号,编译
你在编译带有Socket构造函数的时候,编译器提示找不到符号.rnrneg:rnrnIP_ADDRESS和PORT是通过Servlet配置参数得到的rnrn /**rn * Servlet初始化rn * @param config servlet配置参数rn * @return voidrn */rnrn public void init(ServletConfig config) throws ServletExceptionrn rn super.init(config);rn this.config = config;rn rnrn然后在使用getInitParameter()得到IP_ADDRESS和PORTrnrnsocketClient = new Socket(IP_ADDRESS,PORT);rnrn居然提示找不到符号.rnrn怎么解决
对网上【自定义输入框】的改动
开发APP的时候经常会遇到的一个需求就是“自定义一个输入框”,市面上几乎所有app的输入框基本都是他们自己开发的。 自定义布局并非难事,难的是当软键盘弹出时,如何保证你的输入框能自动被顶起。 作为一个新手,遇到问题先百度一下,果然很快就在网上找到了“解决方案”: View decorView = getWindow().getDecorView(); View contentView = mE
Microsoft放弃对VB.Net的改动
根据开发者的反馈意见,Microsoft公司放弃了对Visual Basic.Net做的一些改动。Microsoft过去计划对Visual Basic做一些修改,使之和C++等语言保持一致。不过开发人员表示更希望看到Visual Basic.Net的这些部分保持和Visual Basic 6.0一致。Microsoft将在Visual Basic.Net的第二beta测试版中把所做的一些改动恢复成和VB 6.0一致的样子。 rnrnhttp://www.cnw.com.cn/news/2001/article.asp?filename=n1041024.txt&title=Microsoft放弃对VB.Net的改动&keyword=VB.Net,Microsoft&class=abroad&time=01-4-10
怎样对注册表进行改动
怎样对注册表进行改动???
对log4j的一点小改动
log4j默认是没法显示log被调用位置的方法,改造如下 import org.apache.log4j.LogManager; import org.apache.log4j.Logger; /** * @program: * @description: log4j in my project * @author: * @create: 2019-04-10 18:07 **...
对casper源码的一次改动
CASPER_COMMAND.AddRange(new [] { @"""" + Path.Combine(Path.Combine(CASPER_PATH, "bin"), "bootstrap.js") + @"""", @"--casper-path=""" + CASPER_PATH + @"""", "--cli" }); //
改动ip对oracle的影响
一般来说,改动了机器名或ip,应该也要把listener.ora和tnsnames.ora中的host作相应的改动,才能启动数据库.rnrn但是listener.ora和tnsnames.ora中host若都用机器名,不用ip地址,发现改动ip地址也会对会oracle影响,刚改完不能启动数据库,要人为的打开数据库,才能启动.不知道什么原因,大家分析分析.
java.net.socket中 close_wait fin_wait2 问题
/******************************************************/rn******************** listenserve.java ************************************rnimport java.io.*;rnimport java.lang.*;rnimport java.net.ServerSocket;rnimport java.net.Socket;rnimport javax.net.ServerSocketFactory;rnimport javax.net.SocketFactory;rnrnrnrn// 主程序一直处于监听状态,有连接则启动一个线程进行处理,以实现多个客户端rnrnpublic class listenserve rn private ServerSocket ss;rn private boolean listening = true;rn public listenserve() rn Init(); // 初始化rn lisn(); // 启动监听 rn rnrn public void Init() rn try rn ss = new ServerSocket(10015, 10);rn catch (IOException ie) rn System.out.println("无法在10015端口监听");rn ie.printStackTrace();rn rn rnrn public void lisn() rn try rn while (listening) rn new Thread(new dialogserve(ss.accept())).start();rn rn catch (IOException ie) rn ie.printStackTrace();rn rn rnrn public static void main(String args[]) rn new listenserve();rn rnrn/******************************************************/rn******************** dialogserve.java ************************************rnimport java.io.*;rnimport java.lang.*;rnimport java.net.ServerSocket;rnimport java.net.Socket;rnimport java.net.SocketException;rnrnrnpublic class dialogserve implements Runnable rn private Socket s;rn private InputStream in;rn private String rev, temp;rn private byte b[];rn private int len;rn public dialogserve(Socket ss) rn s = ss;rn b = new byte[1024];rn try rn in = s.getInputStream();rn catch (IOException ie) rn ie.printStackTrace();rn rn rev = "";rn rnrn public void run() rn try rn while (s.isConnected() == true) rn if ((len = in.read(b)) != -1) rn temp = new String(b, 0, len);rn rev += temp;rn System.out.println(rev);rn temp = null;rn //Thread.sleep(1000);rn rn rn in.close();rn System.out.println("会话socket已断开!");rn s.close();rn rn catch (SocketException se) rn System.out.println("客户端已断开!");rn System.exit(0);rn catch (IOException io) rn io.printStackTrace();rn System.exit(0);rn rn /*rn catch (InterruptedException ire) rn ire.printStackTrace();rn rn */rn rnrn/**********************************************************/rn******************** TcpClient.java ************************************rnrnrnimport java.net.*;rnimport java.io.*;rnrnpublic class TcpClient implements Runnablernrn private Socket socket;rn private OutputStream out;rn private String send;rn rn public void run()rn rn tryrn rn socket = new Socket();rn //socket.setSoTimeout(10000);rn socket.connect(new InetSocketAddress("localhost", 10015),10000); rn out = socket.getOutputStream();rn send = Thread.currentThread().getName();rnrn out.write(send.getBytes());rn out.flush();rn out.close();rn socket.close();rn rn catch (Exception e)rn rn e.printStackTrace();rn rn rn rn public static void main(String[] args)rn rn for (int i=0; i< 10 ; i++ )rn rn (new Thread(new TcpClient())).start();rn rn rnrn/************************************************************************************/rnrn问题,TcpClient 运行完后,发现程序中所用的 10个连接并没有并关闭,rn服务器端的 处于 close_wait状态 , 客户端的处于 fin_wait 2 状态。rnrn请教: 如何保证 TCP连接的关闭?rn
删除一个文件到回收站对文件系统做了哪些操作
本套教程分理论课和实战课,其中理论课是讲数据存储的结构 。实战课是实际演示数据恢复过程,实战课会用课堂练习.vhd和课后练习.vhd 这两个虚拟磁盘镜像文件,您可以把这两个文本在自己的电脑加载然后,自己动手恢复一遍。如果能一次性恢复成功好,如果恢复不出来,那么再看下课后练习里面的视频教程讲解。如果看了视频后实在还是搞不懂的可以留言咨询我。
017、创建对象做了哪些事情
Student s = new Student();在内存中做了哪些事情?
面向对象_创建对象做了哪些事情?
-
Java在编译时做了哪些事情
如题rn先抛砖引玉吧:rn1. 常量引用rn2. 常量运算;rn3. 方法重载;rn4. 方法重写;rn5. 泛型构建;rn6. 编译时异常;rn7. 编译时注解;rnrn如有不当处还希望能指出。
如何查看对一个表做了哪些Update,Delete操作
最好能查看,是哪个应用程序发出的语句,什么时间做的,哪个用户做的
jdk1.6以后 对synchronized锁做了哪些优化
1.适应自旋锁    自旋锁:为了减少线程状态改变带来的消耗 不停地执行当前线程    2.锁消除:   不可能存在共享数据竞争的锁进行消除 3.锁粗化:   将连续的加锁 精简到只加一次锁 4.轻量级锁:  无竞争条件下 通过CAS消除同步互斥 5.偏向锁: 无竞争条件下 消除整个同步互斥,连CAS都不操作。
安装程序都做了哪些操作?
自己写安装程序,步骤如下:rnrn1. 生成安装文件夹,生成安装文件。rnrn2. 生成快捷方式rnrn3. 注册表 Uninstall 写入必要的信息。rnrn能够使用360和windows卸载正常卸载。但是,在Win7下,安装和卸载都会有一个程序没有正常安装的提示,可能是必要的注册表项没有写完全,标准的安装程序需要的信息更多(仅仅是猜测,除了Uninstsall应该还有其他地方需要写入)。更严重的是,win8下,干脆不让运行,也就是系统不认这是一个安装好的程序,而把他当成网络下载的程序,每次运行都会拦截。
创建一个文件对文件系统做了哪些操作
本套教程分理论课和实战课,其中理论课是讲数据存储的结构 。实战课是实际演示数据恢复过程,实战课会用课堂练习.vhd和课后练习.vhd 这两个虚拟磁盘镜像文件,您可以把这两个文本在自己的电脑加载然后,自己动手恢复一遍。如果能一次性恢复成功好,如果恢复不出来,那么再看下课后练习里面的视频教程讲解。如果看了视频后实在还是搞不懂的可以留言咨询我。
tabStrip 都做了哪些事件
rn 首先, ,然后点下 tabStrip,此时(!IsPostBack == false)rn rn 执行顺序为rn 1.Page_load()rnrn 2.myTabStrip_SelectedIndexChange()rnrn 3.Page_load()(注:此时!IsPostBack ==true)rnrn 就不明白了,为什么有3步执行,且(!IsPostBack ==true)
C#关闭按钮 做了哪些事
网上下了个屏幕键盘的代码,发现再点击窗口关闭按钮时,程序会很卡,但在自定义按钮事件里调用close()函数,又能很顺利的关闭程序。是不是在窗口关闭按钮事件里不是直接调用Close,还做了其他的事情,导致程序变卡
Android-x86 4.2 做了哪些改进
Androidx864.2.2测试版本发布,和以前的版本有哪些改进啊
access95升级到2000要做哪些改动???
现有一个access95做的管理程序要升级到access2000,请问哪些方面要做修改?改动量大不大?如果有简单的例子最好。多谢!!!
applet 不能使用java.net.socket吗?
我用applet通过tcp socket和server通讯,appletviewer通过IE打开得到异常:rncom.ms.security.SecurityExceptionEx[TcpClient.waitForPackets]: cannot access "workflow"。rn我该如何解决?
android 7.0中Settings新功能全面解析
Settings N预览android N 在Settings中作了一些调整,如上面的截图。 - 增加了侧滑菜单,采用v4下的DrawerLayout来实现; - 在Settings主界面增加了Condition,能够在设置列表中显示状态; - 在Settings主界面增加了Suggestion。Dashboard category数据的加载首先来看下Settings的Dashboard ca
Android PopupWindow在7.0中弹出占满全屏
重写 PopupWindow 的方法public class SupportPopupWindow extends PopupWindow { public SupportPopupWindow(View contentView, int width, int height){ super(contentView,width,height); } @Ov...
Android PopupWindow在7.0中弹出位置问题
Android PopupWindow在7.0中弹出位置问题在Android开发中经常会使用到PopupWindow来显示内容。在7.0中宽和高如果设置得过大,弹出的PopupWindow会覆盖当前的视窗而覆盖整个手机屏幕,并不是在anchorView的下方弹出来。 public void show(View view) { if (Build.VERSION.SDK_INT
Android对Linux内核的改动你知道多少?.txt
Android对Linux内核的改动你知道多少?.txt
通过java.net.Socket类抓取网页内容
通过 java.net.Socket 类访问一个Web页面,并且返回结果rnrnimport java.io.*; rnimport java.net.*; rnrnpublic class FirstSocket rn rnpublic static void main(String args[]) rn rnrn//判断参数是否为两个,正确的用法为 FirstSocket 网站 页面 rnif(args.length!=2) rn rnSystem.out.println("Usage : FirstSocket host page\r\nExample:FirstSocket www.google.com /"); rnSystem.exit(0); rn rnString strServer=args[0]; //取得第一个参数 rnString strPage = args[1]; //取得第二个参数 rnrntry rn rnString hostname = strServer; rnint port = 80; rnInetAddress addr = InetAddress.getByName(hostname); rnSocket socket = new Socket(addr, port); //建立一个Socket rnrn//发送命令 rnBufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8")); rnwr.write("GET " + strPage + " HTTP/1.0\r\n"); rnwr.write("HOST:" + strServer + "\r\n"); rnwr.write("\r\n"); rnwr.flush(); rnrn//接收返回的结果 rnBufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream())); rnString line; rnwhile ((line = rd.readLine()) != null) rnSystem.out.println(line); rn rnwr.close(); rnrd.close(); rn rncatch (Exception e) rn rnSystem.out.println(e.toString()); rn rn rn rnrnrnrn转http://java.ccidnet.com/art/3741/20061011/919025_1.htmlrn
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符