网络编程之TCP
知識補充:源IP地址和目的IP地址以及源端口號和目的端口號的組合稱為套接字。其用于標識客戶端請求的服務器和服務。
TCP編程的實現步驟:服務器端:1.通過ServletSocket創建綁定到指定客戶端的套接字。假設該對象名為servler
2.偵聽并接受到此套接字的連接。此方法在連接傳入之前一直阻塞。server.accept(),返回Socket對象
3.通過socket對象調用輸入輸出流。就可以向客戶端輸出信息
客戶端:1.連接主機名。InetAddress net = InetAddress.getByName("192.168.11.229");
2.主機對象net和端口號連接。Socket socket = new Socket(net,7889);
3.通過socket獲取輸入輸出流
1 package myInetaddress; 2 import java.io.FileOutputStream; 3 import java.io.InputStream; 4 import java.io.OutputStream; 5 import java.net.InetAddress; 6 import java.net.ServerSocket; 7 import java.net.Socket; 8 import java.net.UnknownHostException; 9 10 import org.junit.Test; 11 public class MyInetAddress7 { 12 13 @Test 14 public void server() throws Exception{ 15 //服務器獲取端口號 16 ServerSocket server = new ServerSocket(7899); 17 //監視端口 18 Socket socket = server.accept(); 19 //獲取流 20 InputStream is = socket.getInputStream(); 21 byte[] b = new byte[10]; 22 int len=0; 23 while((len = is.read(b))!=-1){ 24 System.out.println(new String(b,0,len)); 25 } 26 socket.shutdownInput(); 27 is.close(); 28 server.close(); 29 socket.close(); 30 } 31 @Test 32 public void clicen() throws Exception{ 33 InetAddress net = InetAddress.getByName("192.168.11.229"); 34 Socket socket = new Socket(net,7899); 35 FileOutputStream os = (FileOutputStream)socket.getOutputStream(); 36 os.write("你是是的看深刻的了深刻掃鵝鵝鵝鵝鵝鵝餓有意義有意義與".getBytes()); 37 os.close(); 38 socket.close(); 39 } 40 41 }輸出結果:
?1 你是是的看 2 深刻的了深 3 刻掃鵝鵝鵝 4 鵝鵝鵝餓有 5 意義有意義 6 與?
轉載于:https://www.cnblogs.com/huxuebing/p/5762631.html
總結
- 上一篇: Spring命名空间引入方法
- 下一篇: Bash:如何查看某个文件是那个程序/进