草庐IT

java - Apache HttpClient 4.0 无法在 Android 上为套接字超时

我正在开发一个Android应用程序,它需要使用HttpClient才能将文件从Android设备上传到Web服务器。我上传的文件最大可达1Gb,因此如果设备在上传过程中断开连接,可能会发生超时。奇怪的是我给socket设置的timeout好像没有任何作用。每当我失去连接而不是引发SocketTimeoutException时,应用程序就会挂起。我尝试使用:HttpConnectionParams.setConnectionTimeout(params,CrashLogParams.TIMEOUT);HttpConnectionParams.setSoTimeout(params,Cr

java - 通过蓝牙 RDP

这是一个研发项目。通过蓝牙将WindowsPC的桌面传输到手机。我成功地将桌面以720p流式传输到我的Android手机,但问题是我无法进行直播。通过蓝牙传输的编码和数据需要几毫秒,所以它不是实时的。所以我做了什么,为此我选择了RDP。由于RDP仅适用于LAN。我没有PAN的资料。我写了一个代理,它只通过蓝牙将RDP数据包从本地主机路由到我的计算机。在计算机端有另一个程序正在运行,它从蓝牙获取数据并将此数据发送到本地主机端口3389。现在我面临的问题是,随着连接的启动,套接字会自行关闭。程序最初只读取80或45个字节,然后出现异常“SocketClosed”。我的问题是,RDP是打开和

java - Android蓝牙发送文件问题

我正在编写一个小程序,通过蓝牙在Android和PC之间发送文件。我已经阅读googleandroid网站中的蓝牙聊天示例。目前,我的版本非常适合通过蓝牙发送短信,但是当我发送一些文件时,大约>=20KB,它停止工作并抛出EOFException,如下所示:java.io.EOFExceptionatjava.io.ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2716)atjava.io.ObjectInputStream.readArray(ObjectInputStream.java

c# - 套接字 - Java 客户端,C# 服务器

我正在制作一个分为两部分的程序。第1部分:在PC上运行的C#服务器套接字应用程序,监听命令并执行相应操作。第2部分:在手机上运行的Java客户端套接字应用程序,它会在按下按钮时向pc发送命令。目前,我可以从客户端向服务器发送命令,一切正常。但我的问题是:当我向服务器发送特定命令时,我希望服务器回复客户端,而客户端读取该回复。只是,当客户端尝试读取时,它会超时。Java客户端程序:classClientThreadimplementsRunnable{publicvoidrun(){try{Socketsocket=newSocket(serverIpAddress,serverPort

android - 我应该使用 GCM 进行设备之间的实时通信吗?

我正在为android制作聊天应用程序。为此,我决定使用GCM(GoogleCloudMessaging)。但是对它进行了一些研究后,我读到它不应该用于聊天之类的东西。我将实现上游消息传递(将数据从设备直接发送到GCM,无需发送到同步)。这是我的担忧:消息会立即传输吗?(将足够快,用户可以看到“打字”/看到)如果所有设备都在线,那么来自GCM的消息到达客户端的保证是什么?我想使用GCM的主要原因是GCM使用的电池生命周期最少这是一款仅限Android的应用。如果GCM不是我应该使用的,我应该使用什么? 最佳答案 我正在处理类似的要求

java.net.SocketException : sendto failed: EPIPE (Broken pipe) on Android 异常

我正在尝试从Android客户端的服务器套接字读取数据。以下是我使用的代码fragment:客户端(在JAVA中的Android上)DataOutputStreamdataOutputStream=null;DataInputStreamdataInputStream=null;try{if(client.socket==null||!client.socket.isConnected())client.createSocket();//GetInput/OutputstreamforsocketdataOutputStream=newDataOutputStream(client.s

Android HTTPS SNI 支持使用 SSLCertificateSocketFactory

我正在尝试使用SSLCertificateSocketFactory.setHostname添加SNI支持,使用wireshark我看到客户端和启用SNI的服务器之间的通信,CLIENTHELLO转到服务器(设置了正确的主机名),服务器响应ServerHello并发送证书发送给客户端,但之后客户端不发送证书和通信/握手停止,通过openssl命令openssls_client-connecttheclient-servernamethehostname-certthecertificate一切顺利,握手成功..我正在使用套接字,在socket.startHandshake上出现异常:I

安卓套接字异常 "socket is closed"

当我尝试使用以下代码运行由echo服务器和android客户端组成的测试时,我总是收到异常消息“套接字已关闭”。这段代码可以简单地向服务器发送消息,并从服务器接收消息,但是如果你想同时做这两件事,那是行不通的……我很好奇为什么会导致这种问题,如果我希望它能够首先将消息发送到回显服务器,我应该如何修复它然后从回显服务器接收消息?//ServerIPaddressInetAddressserverIp;//trytoconnectServertry{//setupserverIPaddressserverIp=InetAddress.getByName("192.168.17.1");//

php - 从 Android 设备到 LAMP 服务器的视频流

从这一点开始:http://www.mattakis.com/blog/kisg/20090708/broadcasting-video-with-android-without-writing-to-the-file-system我正在尝试创建一个应用程序来将视频流从移动摄像头保存到远程服务器。(我在android部分的谷歌代码中找到了几个示例:ipcamera-for-android、spydroid-ipcamera等。)我在这里和网络上阅读了一些答案,但找不到关于如何在服务器端“读取”和保存数据流的解决方案。我对Java的了解很差,所以我宁愿能够用PHP创建服务器端脚本(使用服

android - 通过 LocalSocket 从 MediaRecorder 流式传输视频

我正在尝试通过本地套接字从Android的MediaRecorder发送h264/AAC视频。目标是通过RTMP或RTSP将视频发送到WOWZA服务器,但这给我带来了很多麻烦,现在我只是试图将数据写入LocalServerSocket的文件。这是一些代码。抱歉,它不是很干净,但我花了几个小时测试很多东西,我的项目现在一团糟。在相机Activity中,输出文件设置:LocalSocketoutSocket=newLocalSocket();try{outSocket.connect(newLocalSocketAddress(LOCAL_SOCKET));}catch(Exception