Articles of 套接字

Android操作系统中使用SSLSocket的TLS连接速度较慢

我正在开发一个使用SSLSocket连接到服务器的Android应用程序。 这是我正在使用的代码: // Connect if (socket == null || socket.isClosed() || !socket.isConnected()) { if (socket != null && !socket.isClosed()) socket.close(); Log.i(getClass().toString(), "Connecting…"); if (sslContext == null) { sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, trustAllCerts, new SecureRandom()); } SSLSocketFactory socketFactory = sslContext.getSocketFactory(); socket = (SSLSocket)socketFactory.createSocket(host, port); socket.setSoTimeout(20000); socket.setUseClientMode(true); connected = true; Log.i(getClass().toString(), "Connected."); } // Secure if (connected) […]

我们可以直接从Android设备发送数据到另一台android设备(p2p)吗?

我需要发送数据从一个Android设备到另一个Android设备直接(P2P)后,他们通过服务器find对方。 我读了一些东西,这是不能做的,但我不明白为什么可以访问互联网(它有一个IP权利?)的设备不能创build一个对等连接? 如果这不可能,为什么? 如果是这样的话? PS:我知道没有互联网我们不能达到这个目的,这个问题假设两个目标都有互联网连接,无论是gprs / 3g / 4g还是wifi互联网连接! 注意:我希望这是可能的无线和非WiFi互联网!

聊天应用程序 – 哪种技术更适合在Android中实现聊天应用程序

* 我必须做一个基本上是聊天应用程序的Android应用程序。 *在这个聊天应用程序中,用户可以与单个用户进行交互,也可以在一个组中进行交互,这意味着群聊也在那里。 我使用PHP作为数据库的后端。 我从来没有做过这样的工作,所以需要一些build议或指导。 The options i have seen is as follow : 1. Web-services 2. Socket Programming 3. XMPP using the smack api 现在我很困惑,在Android中实现聊天function更好。 我也没有得到任何示例代码。 我的团队成员之一是要求我使用套接字编程,但我没有得到任何示例应用程序或任何插件编程在Android中。 这次我不知道套接字编程。 我们如何将手机连接到服务器,然后连接到其他设备。 希望你能得到我想要的Conway你。 所以,任何人都可以引导我,让我看到正确的方向继续前进。 另外,如果你可以提供我的任何示例代码,这可能是非常有帮助的。 任何帮助表示赞赏

Android蓝牙套接字教程,用于无阻塞通信

我正在寻找Android上的蓝牙示例代码来做非阻塞套接字通信。 我发现了几个例子,像BluetoothChat或BluetoothSocket.java,但没有一个是non-blocking socket communication. ps做非阻塞自动意味着必须是asynchronous的? 我想实际上不是 – 这是不一样的,我认为我可以做超时同步套接字通信。 这是我正在寻找的那种例子… 非常感谢你

如何在android上实现一个HTTP服务器

我在WIFI提供的同一个局域网上有两个android应用程序: 应用程序(A)在端口8033上打开侦听套接字 应用程序(B)使用HttpClient访问端口8033(A) (A)可以在(B)上做POST和GET请求? (A)访问(B)的URL是什么样的? 谢谢大家。

Android蓝牙连接 – 服务发现失败

我正在尝试创build一个基本的蓝牙应用程序,用于testing设备。 我从developer.android获得了代码。 这里是链接: http : //developer.android.com/guide/topics/connectivity/bluetooth.html#ConnectingDevices 这里是运行我的线程代码的一部分: public void run() { mBluetoothAdapter.cancelDiscovery(); Log.i(TAG, "Discovery Cancel!"); try { Log.i(TAG, "Connection Started"); mmSocket.connect(); Log.i(TAG, "Connection Ended"); } catch (IOException e) { try { Log.e(TAG, "Connection Failed", e); mmSocket.close(); } catch (IOException e2) { Log.e(TAG, "Connection Close Failed", e2); } return; } 无论我已经尝试过mmSocket.connect(); 从来不工作。 总是抛出一个IOExceptionexception,并从logcat中获取该日志: java.io.IOException: Service discovery […]

如何通过configuration更改pipe理Android上的蓝牙连接?

题: 如何pipe理(连接,读取,写入,断开连接)通过configuration更改持续的蓝牙连接? 首选使用ActionBarSherlock的与设备版本2.2“Froyo”兼容的解决scheme。 问题… BluetoothDevice和BluetoothSocket都不能保留在onSaveState 。 为了保持我的应用程序响应 ,12秒的阻塞调用BluetoothSocket.connect()必须在一个单独的线程上进行。 启动Runnable是推荐长时间任务的推荐方式,但是尝试恢复configuration更改是一场噩梦。 官方文件指出了三种不同的解决scheme。 使用getLastNonConfigurationInstance() ,这是弃用(严重?!)。 像BluetoothChat示例一样设置android:configChanges="keyboardHidden|orientation" 。 但是,这不包括所有types的configuration更改。 取消并重新启动“ Shelves Example”等任务。 在这种情况下,这可能会浪费另外的12秒。 更新1 进一步的研究导致我asyncTaskLoader ,但似乎这只能完成更新UI,并不能提供更新。 BluetoothHDP示例使用服务。 服务似乎侧重于进程间通信,并且需要坚持超出活动的生命周期。 我不需要这些function。 更新2 正如Reuben所指出的那样 , Fragment.setRetainInstance(bool)已经取代了弃用的getLastNonConfigurationInstance() 。 在这一点上,似乎最好的select是使用setRetainInstance(true)创build一个持久的非UI片段。

在android上的活动之间保持套接字连接

我正在开发一个应用程序在android 3.1上,我有一个活动A有一个子类从aSyncTask延伸,这个子类创build一个套接字并连接到服务器。 我所有的沟通都很好。 我接收到消息并向服务器发送命令,但是当我得到一个特定的命令时,我必须开始第二个活动(活动B),但是我不能丢失我的套接字并且build立与服务器的通信,另外我必须能够接收和发送来自活动B的命令给服务器。 我怎样才能做到这一点?? 请任何帮助!

Android的TCP服务器客户端通信

我在这里find了一个写得很好的教程,用于在android上进行服 奇迹般有效。 但这只是沟通的一种方式。 我想在客户端听服务器响应,但不知道我在这里错了。 这里是我尝试进行更改的服务器的代码。 服务器 public class Server extends Activity { private ServerSocket serverSocket; Handler updateConversationHandler; Thread serverThread = null; private TextView text; public static final int SERVERPORT = 8080; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text = (TextView) findViewById(R.id.text2); updateConversationHandler = new Handler(); this.serverThread = new Thread(new ServerThread()); this.serverThread.start(); } @Override […]

Android的蓝牙连接错误(找不到bt袜子,scn 1) – 无限循环

我面临的问题和以前(和没有回答)的问题一样,我犹豫编辑它,因为我想添加更多的信息。 所以这里是相关的问题: Android蓝牙连接失败(错误:没有findBt袜子,SCN 1) 。 尝试进行蓝牙连接时发生错误。 我并不总是会发生(为什么?),但这是相当频繁的。 我正在用Eclipse Indigo为Android 2.3编写这个应用程序。 下面是我在得到错误之前进行连接时得到的日志(好像在错误发生之前连接成功): 03-29 15:14:52.205: D/BLZ20_ASOCKWRP(22027): asocket_connect 03-29 15:14:52.205: I/BLZ20_WRAPPER(22027): blz20_wrp_connect: s 53 03-29 15:14:52.205: D/BLZ20_WRAPPER(22027): blz20_wrp_connect: fd (-1:53), bta -1, rc 0, wflags 0x0, cflags 0x0, port 0 03-29 15:14:52.205: I/BLZ20_WRAPPER(22027): __connect_prot_rfcomm: connecting to… 0440201b0800, rc chan 1 03-29 15:14:52.205: I/BLZ20_WRAPPER(22027): __connect_prot_rfcomm: non blocking mode 03-29 […]