執行緒和socke

2021-08-04 15:39:23 字數 1610 閱讀 9151

執行緒: 

更新ui的執行緒:(非同步)  

執行緒鎖:   

udp:  

tcp:

tcp除非有心跳包,否則很難檢測是否連線。所以客戶端要可控地在服務端啟動的時候連線。傳送資料就無所謂了。

接受: 

傳送: 

tcp動態更新:   

問題:

:可以嘗試 bitmapfactory.decodestream(inputstream)轉換為byte再轉換為file再轉換為bitmap

或者inputstream來先轉換再為file再為bitmap

例程:udp

1. udp類定義,其繼承於執行緒可做執行緒啟動物件。執行緒為啟動和接受,靜態方法為傳送

public class udpsocket implements runnable

} catch (socketexception e) catch (ioexception e)

}public static void udpsend(string message)

inetaddress local = null;

try catch (unknownhostexception e)

int msg_length = message.length();

byte messagebyte = message.getbytes();

datagrampacket p = new datagrampacket(messagebyte, msg_length, local,

password.u***ort);

try catch (ioexception e)

}}

2. activity啟動udp的run方法

udpsocket udpsocket = new udpsocket();

new thread(udpsocket).start();

3. 某個按鈕事件中啟動執行緒呼叫udp類的傳送方法

case r.id.button1:

new thread(new runnable()

}).start();

break;

例子:tcp客戶端

1. tcp類,類似上面的udp構造

public class tcpcontrol implements runnable  catch (ioexception e) 

}public static void tcpcontrolsend(string msg) catch (ioexception e)

}}

2. 某個按鈕事件,第一下按下啟動執行緒連線tcp,之後按下都是啟動另一線程傳送資料

case r.id.button2:

switch (password.tcpflag)

}).start();

password.tcpflag = 1;

tcpbutton.settext("close");

break;

}break;

java 基於TCP UDP協議的Socket程式設計

基於tcp協議的socket程式設計 服務端 public class serverlogin 6.關閉輸入流 scoket.shutdowninput 7.向客戶端發訊息 info 歡迎您,登陸成功!os.write info.getbytes bufferedreader.close 8.關閉輸...

阻塞式Socket VS 非阻塞式Socket

主要有三種型別的socket,永久阻塞模式 阻塞加超時模式和非阻塞式。socket模式可以通過apr socket opt set 和apr socket timeout set 這兩個api控制。在windows和unix系統上預設的socket是永久阻塞模式 apr so nonblock ti...

python 網路程式設計學習 套接字socket

以前也學過套接字程式設計,這次想系統全面的學習下python網路程式設計的使用。做這個,為檢測進度,也為後續留下筆記和足跡。socket 常用函式 socket.gethostname socket.gethostbyname import socket host socket.gethostnam...