当前位置:首页 » 安卓系统 » android多线程socket编程

android多线程socket编程

发布时间: 2023-06-09 17:22:11

⑴ 自己写了一个Android的APP,想用socket连接服务器

最近我在在写一个APP,用到了socket,在自己电脑上搭建的服务器,具体过程: 用eclipse写Java代码,创建一个serversocket,用来监听客户端的请求; 客户端在发送数据前,首先创建一个Socket,然后直接请求服务器即可。自己写了一个Android的APP,想用socket连接服务器

⑵ 使用socket编程,实现一个多线程聊天程序,使用9977端口,要求服务端使用两个线程(一个接收,一个输出)

对于通信来说,不存在绝对的服务器和客户端,谁在等待别人来,谁就是服务器,谁主动去联系人,谁就是客户端。
所以。
你要想客户端接受消息,那在启动客户端的时候,在客户端程序里开始一个提供端口的Socket就可以了。
ServerSocket serverSocket = new ServerSocket(5000);
while (true) {
final Socket socket = serverSocket.accept();
new Thread() {
Socket mySocket = socket;

@Override
public void run() {
try {
System.out.println(mySocket);
InputStream is = mySocket.getInputStream();
byte[] bytes = new byte[1024];
int n = is.read(bytes);
System.out.println(new String(bytes, 0, n));
OutputStream os = mySocket.getOutputStream();
os.write(("server reply at time " + new Date()
.toString()).getBytes());
mySocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}

⑶ android如何使用多线程及socket发送指令

1、后台服务是service,没有界面 2、主线程要给后台service传递一个对象可以使用通知也就是notifation 方法:在主线程生成一个通知管理器对象notifationmanager,把socket对象以通知消息的形式发送给后台service,详细的可以看看安卓巴士教程:http://www.apkbus.com/thread-463757-1-1.html

⑷ Android socket 开发,线程CPU占用过高

socket 和流操作使用完都需要关闭的,不然会一直占用资源

⑸ 如何用socket实现android手机与手机之间的通信

参考一般的JAVA的socket编程,如果通过手机网络,就不要使用UDP即可。

⑹ Android - Socket简单使用

ServerSocket类提供如下构造器:

当ServerSocket使用完毕,应使用 close() 方法来关闭此ServerSocket。通常情况下,服务器不应该只接收一个客户端请求,而应该不断接收来自客户端的请求,所以程序可以通过循环,不断调用ServerSocket的accept方法:

Socket 常用构造器

注:上面两个构造器指定远程主机时既可以使用InetAddress来指定,也可以直接使用String对象来指定远程IP。本地主机只有一个IP地址时,使用第一个方法更简单。

在与服务器进行通讯的时候,无法判断远程的服务器是否断开连接。如果使用 OutputStream 发送数据则会影响正常的数据发送(无法区分)。所以就引入了一个心跳机制。

心跳机制实现,使用 Socket.sendUrgentData() 方法发送一个字节流数据(紧急数据)。可以通过判断服务端的 OOBINLINE 属性是否打开,来确定是否断开连接;

setSoTimeout()理解 :设置超时时间;例如:设置为2s,如果阻塞的时间>2s ,那么就会报错。

⑺ Android 基于UDP的Socket通信

1、连接DatagramSocket的服务端(ip和port):开启异步线程和socket
2、发送数据(DatagramPacket):异步
3、接收数据(DatagramPacket):注意连接状态,异步读取
4、关闭连接:关闭DatagramSocket和对应线程

1、异常:android.os.NetworkOnMainThreadException。 socket需要在线程中使用
2、前后端统一传输或者接收协议 [requestcode size d1 d2 d3 ... ],在解析时候用得到
3、实施监控socket的连接状态,还是用心跳包发过去,然后返回数据,一段时间没有的话则代表socket连接失败。
4、注意receive接收数据后的有效长度(一个是预存的buffer,一个是有效结果buffer)
5、客户端连上去后不知道为何一定要先发送一次,才能接收?
6、UDP不安全,有长度限制64K

2019 (* ̄(oo) ̄) 诸事顺利!

热点内容
上游服务器异常什么意思 发布:2025-02-08 15:15:46 浏览:175
如何下载油猴脚本并安装 发布:2025-02-08 15:02:12 浏览:596
硬件哪个配置性价比高 发布:2025-02-08 14:47:07 浏览:146
如何去掉仅限自动配置 发布:2025-02-08 14:37:55 浏览:708
压缩空气有啥 发布:2025-02-08 14:26:01 浏览:704
python输入一个数 发布:2025-02-08 14:26:00 浏览:451
普惠e卡最初密码是多少 发布:2025-02-08 14:21:57 浏览:477
亚索后q脚本 发布:2025-02-08 14:21:06 浏览:325
官方源码 发布:2025-02-08 14:09:25 浏览:438
python过滤器 发布:2025-02-08 14:05:06 浏览:618