一、實現網路通訊需要解決的兩個問題
二、網路通訊的兩個要素
三、通訊要素一:ip和埠號
1.ip的理解
四、通訊要素二:網路通訊協議
1.分類模型
2.tcp 和udp的區別
3.tcp三次握手和四次揮手
**示例1:客戶端傳送資訊給服務端,服務端將資料顯示在控制台上
//客戶端
@test
public
void
client()
catch
(ioexception e)
finally
catch
(ioexception e)}if
(socket != null)
catch
(ioexception e)}}
}//服務端
@test
public
void
server()
//4.讀取輸入流中的資料
baos =
newbytearrayoutputstream()
;byte
buffer =
newbyte[5
];int len;
while
((len = is.
read
(buffer))!=
-1) system.out.
println
(baos.
tostring()
);system.out.
println
("收到了來自於: "
+ socket.
getinetaddress()
.gethostaddress()
+"的資料");
}catch
(ioexception e)
finally
catch
(ioexception e)}if
(is != null)
catch
(ioexception e)}if
(socket != null)
catch
(ioexception e)}if
(ss != null)
catch
(ioexception e)}}
}
**示例2:客戶端傳送檔案給服務端,服務端將檔案儲存在本地
@test
public
void
client()
}catch
(ioexception e)
finally
catch
(ioexception e)}if
(os != null)
catch
(ioexception e)}if
(socket != null)
catch
(ioexception e)}}
}@test
public
void
server()
}catch
(ioexception e)
finally
catch
(ioexception e)}if
(is != null)
catch
(ioexception e)}if
(socket != null)
catch
(ioexception e)}if
(ss != null)
catch
(ioexception e)}}
}
**示例3:從客戶端傳送檔案給服務端,伺服器儲存到本地,並返回「傳送成功」給客戶端,並關閉相應的連線。
@test
public
void
client()
throws ioexception
//關閉資料的輸出
socket.
shutdownoutput()
;//5.接受來自於伺服器端的資料,並顯示到控制台上
inputstream is = socket.
getinputstream()
; bytearrayoutputstream baos =
newbytearrayoutputstream()
; buffer =
newbyte[20
];int len1;
while
((len1 = is.
read
(buffer))!=
-1) system.out.
println
(baos.
tostring()
);//6 fis.
close()
; os.
close()
; socket.
close()
; baos.
close()
;}/* 這裡涉及到的異常,應該使用try-catch-finally處理
*/@test
public
void
server()
throws ioexception
system.out.
println
("傳輸完成");
//6.伺服器端給予客戶端反饋
outputstream os = socket.
getoutputstream()
; os.
write
("你好,**我已收到!"
.getbytes()
);//7.
fos.
close()
; is.
close()
; socket.
close()
; ss.
close()
; os.
close()
;}
**示例:
//傳送端
@test
public
void
sender()
throws ioexception
//接收端
@test
public
void
receiver()
throws ioexception
1.url(uniform resource locator)的理解:統一資源定位符,對應著網際網路的某一資源位址
2.url的5個基本結構:
3.如何例項化:
url url = new url("http://localhost:8080/examples/jisoo.jpg?username=tom");
4.常用方法: 網路程式設計(自用)
埠 應用程式用於資料互動的通道,用於實現程式間通訊,每個應用程式都有固定的埠號。常見埠 協議 埠號 telnet協議 tel 23 簡單郵件傳輸協議 smtp 25 檔案傳輸協議 ftp 21 超文字傳輸協議 http 30 tcp協議 比較可靠的雙向流協議 三次握手 提供訊息確認,錯誤檢測和錯誤恢...
網路程式設計小結
做了乙個 tcp 和udp的服務端,但是現在測試老有問題,就是udp總會有那麼幾次超時,原因還沒找到,不過先總結一下網路的程式設計。首先預設的狀態下,recvfrom和recv都是阻塞的狀態,也就是沒接收到會一直阻塞,知道返回,但是可以通過select設定超時 timeval twait twait...
網路程式設計小結
memset mdataofcfg,0,sizeof mdataofcfg const char configfile debug config.cfg htons 把unsigned short型別從主機序轉換到網路序 htonl 把unsigned long型別從主機序轉換到網路序 ntohs ...