android socket写在Service中,为什么只能传输一次数据?我这样写对吗?求大神指导。。。

如题所述

socket有两种连接方式:TCP与UDP,各有特点,
不知你用了哪种,TCP传输可靠,UDP不可靠会丢失包,
但UDP包有原路返回的特点,特别适合QQ这种的即时聊天工具。
你用TCP试试,不会丢失包的。追问

我用的是TCP,就是在android客户端连接上socket后发送一次文字信息后就不能再发送第二次了,要发送第二次必须在建立socket连接,大神,求大神指导,我要怎么解决这个问题啊。。。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-03
不对追问

求正确的例子,急求,已经在这个问题上卡了好久。。。

Android开发中,在客户端跳转页面时,怎么使得原有的Socket连接保持连接...
Socket在service中保持连接即可,因为它需要一直在后台运行。android中服务是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。可以启动一个服务Service来播放音乐,或者记录地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。Servic...

如何在service里面通过parcelable接口传递数据
b)在进行java的Socket编程的时候,你有时候可能要传输某一类的对象,那么也就要实现Serializable接口;最常见的你传输一个字符串,它是JDK里面的类,也实现了Serializable接口,所以可以在网络上传输。c)如果要通过远程的方法调用(RMI)去调用一个远程对象的方法,如在计算机A中调用另一台计算机B的对象的...

...是否有数据传来。但是为什么只能监听到第一次数据流?
逻辑不正确 accSck = sck.Accept();\/\/是一个阻塞。当处理完一次后一直处于等待下一个连接。正确流程写法: \/\/ 开始监听 sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse(IP); IPEndPoint point = new IPEndPoint(i...

android开发中跨进程通信有几种方式
学过计算机网络的对Socket不陌生,所以不需要详细讲述。只需要注意,Android不允许在主线程中请求网络,而且请求网络必须要注意声明相应的permission。然后,在服务器中定义ServerSocket来监听端口,客户端使用Socket来请求端口,连通后就可以进行通信。

android程序能否同时连接2个蓝牙设备并接收两方数据? 我是Android新手...
当然可以的。参考的资料已经发到你的q邮件里去了。这个是第6页里摘出来的。你看看吧,应该对你很有帮助的。因为这个文档也帮助过我。望采纳哈~~~当你想要连接两台设备时,一个必须作为服务端(通过持有一个打开的bluetoothserversocket),目的是监听外来连接请求,当监听到以后提供一个连接上的...

Android客户端怎么与服务器数据库连接?
Android客户端不能直接与服务器数据库连接。数据库是需要非常大的内存,安装之后有好几G,连接数据库要有一个像SQLServer里的webservice,这样的一个桥梁来间接访问。就是在服务器运行一个服务端程序,该服务端程序通过接收来自android客户端的指令,对数据库进行操作。客户端的http请求可以通过 HttpClient类...

java怎么开发安卓?
2、Java转Android前的准备 其实Java程序员要自学安卓开发的基础知识还是没有什么难度的,毕竟语言相通,特性相似,阅读安卓源代码的门槛以比较低一些,学习安卓也相对比较轻松一些。 所以Java程序员转安卓开发可以看做是一次“增量更新”,只需要学习一下安卓的基本组件:Activity、ContentProvider、Service、BroadcastReceiver; 了...

Android开发都需要使用什么语言?
进程之间内存等资源是隔离的,而AIDL,是Android提供的跨进程通信IPC工具Binder的具体使用方法,跟其他Linux跨进程通信(socket,管道,能存共享等)在概念上没啥差。所以要实现跨进程的内存访问(比如数据传输,函数跨进程同步调用等)就需要了AIDL了,当然了AIDL并不是Android中跨进程通信的唯一选择,socket...

java中Socket如何实现数据包传输的打包和解包?
发包是以流的形式传送的:ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());一般包里面的内容也就是被我们封装在某个类中,这个类要实现序列化,即实现Serializable接口;发送方法那些就要自己写了~

同时兼容IPv4和IPv6的Socket该怎么写呢? 请帮忙写一个具体的例子?谢谢...
这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。 五,IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。 IPv6数据包:包头 IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址...

相似回答