當前位置:ag真人国际官网-ag旗舰厅官方网站 » 安卓系統 » androidsocket伺服器端

androidsocket伺服器端-ag真人国际官网

發布時間: 2024-06-24 21:42:16

1. android socket 接收伺服器返回數據,如何查找想要的數值

android 客戶端代碼:

package com.ltb.scactivity;

import java.io.bufferedreader;
import java.io.bufferedwriter;
import java.io.ioexception;
import java.io.inputstreamreader;
import java.io.outputstreamwriter;
import java.io.printwriter;
import java.net.socket;

import android.app.activity;
import android.os.bundle;
import android.os.handler;
import android.os.message;
import android.util.log;
import android.view.view;
import android.view.view.onclicklistener;
import android.widget.button;
import android.widget.edittext;
import android.widget.textview;

public class scactivity extends activity {
private textview mrecvtext = null;
private edittext msenttext = null;
private button msendrecvbutton = null;
private socket msocket = null;

/** called when the activity is first created. */
@override
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);

mrecvtext = (textview)findviewbyid(r.id.recvtext);
msenttext = (edittext)findviewbyid(r.id.senttext);
msendrecvbutton = (button)findviewbyid(r.id.sendrecvbutton);

msendrecvbutton.setonclicklistener(new onclicklistener() {

@override
public void onclick(view v) {

string sentmessage = msenttext.gettext().tostring() "\r\n";

try {
msocket = new socket("10.126.38.155", 12577);

log.i("------scactivity---before send---", sentmessage);

printwriter send = new printwriter(new bufferedwriter(new outputstreamwriter(msocket.getoutputstream())));
send.println(sentmessage);
send.flush(); //important!!!!!!
//send.write(sentmessage);
log.i("------scactivity---after send---", sentmessage);

bufferedreader recv = new bufferedreader(new inputstreamreader(msocket.getinputstream()));
log.i("------scactivity---before ---recv.readline()---", sentmessage);
string recvmsg = recv.readline();
log.i("------scactivity---after ---recv.readline()---", recvmsg);
if (recvmsg != null) {
mrecvtext.settext(recvmsg);
} else {
mrecvtext.settext("cannot receive data correctly.");
}

send.close();
recv.close();
msocket.close();
} catch (exception ex) {
ex.printstacktrace();
}
}
});
}

伺服器端代碼:
import java.io.bufferedreader;
import java.io.bufferedwriter;
import java.io.inputstreamreader;
import java.io.outputstreamwriter;
import java.io.printwriter;
import java.net.serversocket;
import java.net.socket;

public class server implements runnable {
public void run() {
try {
serversocket serversocket = new serversocket(12577);
while (true) {
socket client = serversocket.accept();
system.out.println("accept");
try {
bufferedreader in = new bufferedreader(new inputstreamreader(client.getinputstream()));
string str = in.readline();
system.out.println("read:" str);
printwriter pout = new printwriter(new bufferedwriter(new outputstreamwriter(client.getoutputstream())), true);
//pout.write("server received message: " str);
pout.println("server received message: " str);

system.out.println("after send in server");
/* bufferedreader in = new bufferedreader(new inputstreamreader(client.getinputstream()));
string str = in.readline();
system.out.println("read:" str);*/

pout.close();
in.close();
} catch (exception e) {
system.out.println(e.getmessage());
e.printstacktrace();
} finally {
client.close();
system.out.println("close");
}
}
} catch (exception e) {
system.out.println(e.getmessage());
}
}

public static void main(string argv[] ) {
thread pcserverthread = new thread(new server());
pcserverthread.start();
}
}

2. android socket用tcp方式client端怎麼監聽伺服器發送來的數據

伺服器端就是需要一個循環不停的接收,這樣才能保證伺服器能一直監聽客戶端傳過來的數據 你這是同步的,如果用非同步socket的話,beginreceive裡面注冊了一個回調函數,在回調裡面再次調用beginreceive就可以一直監聽了

3. 安卓socket編程的伺服器端的地址是什麼

服務端的地址就是你伺服器運行的電腦的ip地址,伺服器運行在哪個電腦,那個電腦的ip就是你伺服器端的地址。
使用socket編程的話創建伺服器端的時候一般都是serversocket來創建一個對象,通過new構造函數的時候傳入一個埠號,客戶端連接的時候除了使用伺服器端ip還有這個埠號,創建了對象之類,開啟無限循環,用這個對象調用accept()方法,這就是常說的心跳連接,這個方法會一直阻塞,直到有客戶端連接上。
客戶端連接的時候也需要創建socket對象,實例化這個對象的時候就需要傳入伺服器端ip和埠號,然後就可以利用這個對象獲取輸入輸出流與伺服器交互。
同樣伺服器端的serversocket對象調用accept()方法返回的socket對象也可以獲取輸入輸出流對象,然後利用這些流與客戶端交互。

4. 自己寫了一個android的app,想用socket連接伺服器

最近我在在寫一個app,用到了socket,在自己電腦上搭建的伺服器,具體過程: 用eclipse寫java代碼,創建一個serversocket,用來監聽客戶端的請求; 客戶端在發送數據前,首先創建一個socket,然後直接請求伺服器即可。自己寫了一個android的app,想用socket連接伺服器

5. android 中socket 怎樣建立連接

參考如下內容,建立socker連接:
1.建立socket連接

1) socket 實現了tcp/ip協議,可以連接到網路上的上腦,並收發數據
2) serversocket 用於服務端,可以監聽服務埠,等待客戶端連接,連接後可以生成用於傳輸數據的socket
3) 創建服務端
serversocket serversocket = new serversocket(9999);
socket socket = serversocket.accept(); //等待客戶端連接
4) 創建客戶端
socket socket = new socket("100.100.28.26", 9999);
// 注意:注冊網路許可權;不能在主線程做網路連接
5) 客戶端發送消息
dataoutputstream writer = new dataoutputstream(socket.getoutputstream());
writer.writeutf("嘿嘿,你好啊,伺服器.."); // 寫一個utf-8的信息
6) 服務端接收消息
datainputstream reader = new datainputstream( socket.getinputstream());
string msg = reader.readutf();
7) 伺服器等待說明

熱點內容
發布:2024-07-17 17:13:27 瀏覽:872
phpjava交互 發布:2024-07-17 16:58:57 瀏覽:356
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
网站地图