当前位置:首页 » 安卓系统 » androidsocket服务

androidsocket服务

发布时间: 2024-04-26 22:49:53

① 自己写了一个Android的APP,想用socket连接服务器,服务器用什么写需要用什么软件吗

不是很复杂。具体思路:
1.在服务器端写一个程序,这程序进行读取数据库中你想要的数据,然后再通过socket服务端发送给客户端。
2.写个socket客户端 。
android的不知道是不是这样!

② 安卓socket编程的服务器端的地址是什么

服务端的地址就是你服务器运行的电脑的ip地址,服务器运行在哪个电脑,那个电脑的ip就是你服务器端的地址。
使用socket编程的话创建服务器端的时候一般都是ServerSocket来创建一个对象,通过new构造函数的时候传入一个端口号,客户端连接的时候除了使用服务器端ip还有这个端口号,创建了对象之类,开启无限循环,用这个对象调用accept()方法,这就是常说的心跳连接,这个方法会一直阻塞,直到有客户端连接上。
客户端连接的时候也需要创建Socket对象,实例化这个对象的时候就需要传入服务器端ip和端口号,然后就可以利用这个对象获取输入输出流与服务器交互。
同样服务器端的ServerSocket对象调用accept()方法返回的Socket对象也可以获取输入输出流对象,然后利用这些流与客户端交互。

③ android socket有几种方法

/***第一种:客户端Socket通过构造方法连接服务器***/
//客户端Socket可以通过指定IP地址或域名两种方式来连接服务器端,实际最终都是通过IP地址来连接服务器
//新建一个Socket,指定其IP地址及端口号
Socket socket = new Socket("192.168.0.7",80);
/***Socket 客户端 一些常用设置***/
//客户端socket在接收数据时,有两种超时:1.连接服务器超时,即连接超时;2.连接服务器成功后,接收服务器数据超时,即接收超时
//*设置socket 读取数据流的超时时间
socket.setSoTimeout(5000);
//发送数据包,默认为false,即客户端发送数据采用Nagle算法
//但是对于实时交互性高的程序,建议其改为true,即关闭Nagle算法,客户端每发送一次数据,无论数据包大小都会将这些数据发送出去
socket.setTcpNoDelay(true);
//设置客户端socket关闭时,close()方法起作用时延迟1分钟关闭,如果1分钟内尽量将未发送的数据包发送出去
socket.setSoLinger(true, 60);
//设置输出流的发送缓冲区大小,默认是8KB,即8096字节
socket.setSendBufferSize(8096);
//设置输入流的接收缓冲区大小,默认是8KB,即8096字节
socket.setReceiveBufferSize(8096);
//作用:每隔一段时间检查服务器是否处于活动状态,如果服务器端长时间没响应,自动关闭客户端socket
//防止服务器端无效时,客户端长时间处于连接状态
socket.setKeepAlive(true);
/*** Socket客户端向服务器端发送数据 ****/
//客户端向服务器端发送数据,获取客户端向服务器端输出流
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
//代表可以立即向服务器端发送单字节数据
socket.setOOBInline(true);
//数据不经过输出缓冲区,立即发送
socket.sendUrgentData(65);//"A"
//向服务器端写数据,写入一个缓冲区
//注:此处字符串最后必须包含“\r\n\r\n”,告诉服务器HTTP头已经结束,可以处理数据,否则会造成下面的读取数据出现阻塞
//在write()方法中可以定义规则,与后台匹配来识别相应的功能,例如登录Login()方法,可以写为write("Login|test,123 \r\n\r\n"),供后台识别;
bw.write("Login|test,123 \r\n\r\n");
//发送缓冲区中数据,必须有
bw.flush();

/*** Socket客户端读取服务器端响应数据 ****/
//socket.isConnected代表是否连接成功过
if((socket.isConnected() == true) && (socket.isClosed() == false)){//判断Socket是否处于连接状态
//客户端接收服务器端的响应,读取服务器端向客户端的输入流
InputStream is = socket.getInputStream();
//缓冲区
byte[] buffer = new byte[is.available()];
//读取缓冲区
is.read(buffer);
//转换为字符串
String responseInfo = new String(buffer);
//日志中输出
Log.i("TEST", responseInfo);
} //关闭网络
socket.close();
/***第二种:通过connect方法连接服务器***/
Socket socket_other = new Socket();
//使用默认的连接超时
socket_other.connect(new InetSocketAddress("192.168.0.7",80));
//连接超时2s
socket_other.connect(new InetSocketAddress("192.168.0.7",80),2000);
//关闭socket
socket_other.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

④ android socket一直在链接 服务器不响应

connect方法里面:new Socket那会抛异常的。导致你上部分catch到异常。writer没有被初始化。 接下来估计你直接使用了writer。导致了空指针异常。 所以关键是你的:new Socket这里。这个地方很用可能是服务端没有打开,而导致的连接异常

⑤ 关于Android Socket 新手求教!

1.1什么是Socket Socket
是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,与处于同一网络中的其他应用程序进行通信。简单来说,Socket提供了程序内部与外界通信的端口并为通信双方的提供了数据传输通道。

1.2Socket的分类
根据不同的的底层协议,Socket的实现是多样化的。本指南中只介绍TCP/IP协议族的内容,在这个协议族当中主要的Socket类型为流套接字(streamsocket)和数据报套接字(datagramsocket)。流套接字将TCP作为其端对端协议,提供了一个可信赖的字节流服务。数据报套接字使用UDP协议,提供数据打包发送服务。
下面,我们来认识一下这两种Socket类型的基本实现模型。

二、Socket 基本通信模型

详细

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

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

热点内容
帝豪换压缩机 发布:2024-05-08 05:42:15 浏览:900
java文件时间 发布:2024-05-08 05:32:04 浏览:266
空气压强算法 发布:2024-05-08 05:29:47 浏览:292
c语言中double的范围 发布:2024-05-08 04:53:29 浏览:121
脏小豆服务器怎么加入 发布:2024-05-08 04:40:40 浏览:551
万立存储介质 发布:2024-05-08 04:33:02 浏览:637
ftppro特效复制方法 发布:2024-05-08 04:06:05 浏览:927
平板电脑编译软件 发布:2024-05-08 04:05:46 浏览:478
荣耀v6平板扩展存储 发布:2024-05-08 03:41:12 浏览:423
安卓手机为什么半年一更新 发布:2024-05-08 03:36:52 浏览:661