当前位置:首页 » 安卓系统 » androidsocket聊天

androidsocket聊天

发布时间: 2022-11-08 11:54:56

A. 两台安卓手机之间可以通过socket直接进行点对点通信吗不在同一局域网的。。。我想做一个聊天软件

应该可以实现的,主要是知道对方区号

B. 字符串解析和Socket简易聊天程序

1.解析字符串

2.创建一个Request类,来解析字符串,并进行封装

3.在stringTools 类下,把原来public static void testString()更改为public static Request testString(String str) ,且加上request返回对象
Request:方法名——是一个有返回值的方法,返回的是Request类型的对象;之前的void是一个空的方法,是没有返回值的;
1)public static void testString()中的void改为Request,这时候发现testString()报错了,不要慌,看下报错信息(This method must return a result of type Request)——英文翻译过来就是大白话:此方法必须返回类型请求的结果。

2)选择"Add return statement"(网络翻译:添加返回语句)

1)request.setFangFa(fangFa);
2)request.setUrl(url);
3)request.setBanBen(banBen);
4)request.setProtocal(protocal);
5)request.setIp(ip);
6)request.setPort(port);
7)request.setPrjName(prjName);
8)request.setResource(resource);
9)request.setMap(map);

Day1210学习的内容

1.Tomcat

2.HTTPServlet

3.Response

4.Login

5.web.properties

6.TomcatTest

1.服务端

2.客户端

注意:启动时需要先启动服务端,再启动客户端
服务端:

客户端:

C. android上的socket通信的开源框架有哪些

xmpp协议的即时通讯方案,openfire androidpn,等等。它们都是使用了apache mina开发,但是这些东西基本都需要二次改造开发。而且改动还很大,我也看过这些东西的源码,发现代码结构不太理想,耦合的情况太多,实在不好扩展。所谓XMPP 协议。只不过是别人使用mina 自定义了一个消息编码解码协议。通俗的讲就是,xml形式消息的编码与解码,我们完全没有必要在国外这套不成熟的openfire 与xmpp 上耗费过多的精力去研究,我们完全可以通过apache mina 自定义自己的通讯协议,并可以为它使用自己的名字。我们不要盲目崇拜国外的有些东西,自己掌握原理,才是最重要的,各位切记~
这套IM系统为我个人自主开发 使用了 apache mina ,主要功能为 服务端和客户端,客户端 到客户端的即时通信,可以支持包括文字 图片,语音等任何消息形式 服务端使用的 struts2+spring3和 apache mina android端 也使用的apache mina。这套IM系统结构还是非常清晰合理的,非常容易扩展和改造,下面是android版本 的 demo的目的是只是一个演示 ,可以参照它的代码,使用这套系统开发自己的东西,核心价值是一套高灵活性,相对标准化的即时通讯解决方案,即时聊天只是它的一种运用途径!

D. android io.socket怎么用

package HA.Socket;
2
3 import java.io.*;
4 import java.net.*;
5
6 public class SocketServer {
7
8 ServerSocket sever;
9
10 public SocketServer(int port){
11 try{
12 sever = new ServerSocket(port);
13 }catch(IOException e){
14 e.printStackTrace();
15 }
16 }
17
18 public void beginListen(){
19 while(true){
20 try{
21 final Socket socket = sever.accept();
22
23 new Thread(new Runnable(){
24 public void run(){
25 BufferedReader in;
26 try{
27 in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
28 PrintWriter out = new PrintWriter(socket.getOutputStream());
29 while (!socket.isClosed()){
30 String str;
31 str = in.readLine();
32 out.println("Hello!world!! " + str);
33 out.flush();
34 if (str == null || str.equals("end"))
35 break;
36 System.out.println(str);
37 }
38 socket.close();
39 }catch(IOException e){
40 e.printStackTrace();
41 }
42 }
43 }).start();
44 }catch(IOException e){
45 e.printStackTrace();
46 }
47 }
48 }
49 }

E. 编写Android socket通信,想要服务器端向手机端发送消息,但会出现异常

服务端的 accept 之后 要在开一个线程 和 客户端 的socket (建立单一的信道)进行通信,才能保证是长连接 双方数据可以 持续发送,你说第一次可以 那是 你 TCP 三次握手成功后,你writeUTF(send_msg),你就 又把socket关闭了,信道就断了

F. Android socket通信能发数据但不能接收到数据

我C#项目中做过同样的Android移动Socket通信。

Android客户端:

SocketClient对象receive函数就调用读取函数,当然之前是打开了Socket连接。

publicStringreceive()throwsIOException{

BufferedReaderreader=newBufferedReader(
newInputStreamReader(client.getInputStream()));
Stringtxt=reader.readLine();

returntxt;
}

Activity页面使用任务不间断监听接收。

<Void,Void,Void>{
@Override
protectedVoiddoInBackground(Void...arg0){

SocketClientclient=SocketClient.getInstance();

while(true)
{
try{
Thread.sleep(5000);

Stringre=client.receive();

if(re==null||(re!=null&&re.equals(""))){
continue;
}

if(isCancelled())
returnnull;

//TODO:处理接收到消息

}catch(SocketExceptione){
//服务端断开,启动重连任务
if(e.getMessage().contains("ECONNRESET")){
reconnectTask=newReconnectServerTask();
reconnectTask.execute((Void)null);
}
returnnull;
}catch(IOExceptione){
e.printStackTrace();
}catch(InterruptedExceptione){
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}

G. android怎么实现聊天功能

Android聊天室的聊天功能吧,先说说服务器端的代码及其功能吧
server.java : 负责服务器的界面,以及更服务器主线程ServerThread的启动,产生了BroadCast广播,产生ClientThread线程
ServerThread.java:服务器监听的端口线程,负责创建ServerSocket及监听是否有新的客户端连接,并记录客户端连接及需要发送的信息,产生了BroadCast广播
BroadCast.java: 服务器向客户端广播线程,负责向客户端发送消息,产生ClientThread线程
ClientThread.java:维持服务器和单个客户端的连接线程,负责接受客户端发来是信息
好了接着就看看他们的代码吧!!
1.server.java-------创建ServerThread对象启动run方法

2.ServerThread.java -----创建Broadcast对象,启动该线程,实现run方法后,不断的向客户端发送消息,ServerThread开启后,不断的获取新的客户端并监听是否发送消息

3.BroadCast.java------
[java] view plain
package com.wang;

import java.io.*;

public class BroadCast extends Thread { // 服务器向客户端广播线程
ClientThread clientThread;
// 声明ServerThread对象

4.ClientThread.java----获得Socket的输入输出流,向客户端接收或者发送数据

5.接着看看手机客户端的布局main.xml

6.接着看看手机客户端的实现ChatClientActivity.java

7,亲,别忘了由于需要网络,需要添加联网的权限哦!!
[html] view plain
<uses-permission android:name="android.permission.INTERNET"/>
8.如果你完成以上功能,就可以实现android手机客户端上的简单的聊天功能了
详细代码可以见:http://blog.csdn.net/u010507199/article/details/47439199

热点内容
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:120
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:524
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:834
微信忘记密码从哪里看 发布:2024-05-19 16:06:37 浏览:32
宝马x4贷款买哪个配置好 发布:2024-05-19 15:56:03 浏览:22
微控pid算法 发布:2024-05-19 15:46:31 浏览:135
云盘视频解压密码 发布:2024-05-19 15:23:17 浏览:848
和平精英怎么改地区位置安卓 发布:2024-05-19 15:19:05 浏览:286
酒店的路由器如何配置 发布:2024-05-19 15:10:44 浏览:500
rpgmaker脚本 发布:2024-05-19 14:48:58 浏览:407