socket 通訊
1.udp實現 (datagramsocket)
【客戶端】
//首先建立乙個datagramsocket物件
datagramsocket socket = new datagramsocket(4567);
//建立乙個inetaddress
inetaddress serveraddress = inetaddress.getbyname("192.168.1.104");
string str = "hello"; //這是要傳輸的資料
byte data = str.getbytes(); //把傳輸內容分解成位元組
//建立乙個datagrampacket物件,並指定要講這個資料報傳送到網路當中的哪個、位址,以及埠號
datagrampacket packet = new datagrampacket(data,data.length,serveraddress,4567);
//呼叫socket物件的send方法,傳送資料
socket.send(packet);
【伺服器端】
//建立乙個datagramsocket物件,並指定監聽的埠號
datagramsocket socket = new datagramsocket(4567);
byte data = new byte[1024];
//建立乙個空的datagrampacket物件
datagrampacket packet = new datagrampacket(data,data.length);
//使用receive方法接收客戶端所傳送的資料,
//如果客戶端沒有傳送資料,該程序就停滯在這裡
socket.receive(packet);
string result = new string(packet.getdata(),packet.getoffset(),packet.getlength());
2.tcp通訊
【客戶端】
建立一socket物件並指明伺服器端的ip及埠號
socket socket = new socket("192.168.1.0",45678);
//向伺服器傳送訊息
printwriter out = new printwriter(new bufferedwriter(new outputstreamwriter(socket.getoutputstream())), true);
out.println(message);
//從伺服器接收訊息
bufferedreader is = new bufferedreader(new inputstreamreader(socket.getinputstream()));
string rstring = is.readline().tostring();
【伺服器端】
//建立乙個serversocket物件,並讓這個socket在45678埠監聽
serversocket = new serversocket(45678);
//呼叫serversocket的accept()方法,接受客戶端所傳送的請求,
//如果客戶端沒有傳送資料,那麼該執行緒就停滯不繼續
socket socket = serversocket.accept();
//從socket當中得到inputstream物件
inputstream inputstream = socket.getinputstream();
byte buffer = new byte[1024*4];
int temp = 0;
//從inputstream當中讀取客戶端所傳送的資料
while((temp = inputstream.read(buffer)) != -1)
【socket獲取客戶端ip位址及埠號】
socket類包含一些非常有用的屬性,這些屬性允許確定關於正在連線的客戶端的資訊。其中關鍵資訊之一
是返回endpoint物件的remoteendpoint屬性。endpoint類本身是抽象的,要想收集有用的資訊,需·要把
tcplistener tcpl=new tcplistener(port);
socket s=tcpl.acceptsocket();
label1.text=((ipendpoint)s.remoteendpoint).address.tostring();
label2.text=((ipendpoint)s.remoteendpoint).port.tostring();
Android Socket程式設計
android socket程式設計 建立伺服器的步驟 1.指定埠例項化乙個serversocket。2.呼叫serversocket的accept 以在等待連線期間造成阻塞。3.獲取位於該底層socket的流以進行讀寫操作。4.將資料封裝成流。5.對scoket進行讀寫。6.關閉開啟流。注意 不要...
Android socket程式設計
socket分為兩種 udp和tcp 特點 1.資料要進行打包傳送。2.資料的大包大小有限制 3.面向無連線 4.安全性低不可靠 5.速度快 使用場景 qq群聊 如下 傳送端 public class sendsocket byte bytes line.getbytes 第二步將資料大包,資料報裡...
Android Socket網路程式設計
今天簡單記錄下,android下的socket網路程式設計,socket網路程式設計最為廣泛的為tcp協議和udp協議 伺服器端首先宣告乙個servcersocket物件,並指定埠號,然後呼叫serversocket的accept 方法介面客戶端傳送的資料,accepter 方法在沒有接收到資料時,...