當前位置:首頁 » 安卓系統 » 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

熱點內容
微信忘記密碼從哪裡看 發布: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
hds存儲虛擬化 發布:2024-05-19 14:47:09 瀏覽:21
mysql資料庫分片 發布:2024-05-19 14:42:30 瀏覽:342
2021款魏派vv6買哪個配置 發布:2024-05-19 14:31:11 瀏覽:633