TCP協(xié)議進行信息的傳輸
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
/*
?* 熟悉流程
?* 創(chuàng)建客戶端
?* 1.使用Socket創(chuàng)建客戶端(這里實際上就是和服務器建立連接)
?* 所以需要指定服務器的地址和端口
?* 2.輸入輸出流操作
?* 3.釋放資源
?*/
public class Client {
?? ?public static void main(String[] args) throws UnknownHostException, IOException {
?? ??? ?System.out.println("------client----------");
?? ??? ?//1.使用Socket創(chuàng)建客戶端(這里實際上就是和服務器建立連接)
?? ??? ?Socket client=new Socket("localhost",8888);
?? ??? ?// 2.輸入輸出流操作
?? ??? ?DataOutputStream dos=new DataOutputStream(client.getOutputStream());
?? ??? ?String data="hello";
?? ??? ?dos.writeUTF(data);
?? ??? ?dos.flush();
?? ??? ?//3.釋放資源
?? ??? ?dos.close();
?? ??? ?client.close();
?? ?}
}
package cn.jd.tcp;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/*
?* 熟悉流程
?* 創(chuàng)建服務器
?* 1.指定端口:使用ServerSocket創(chuàng)建服務器
?* 2.阻塞式的等待連接
?* 3.輸入輸出流操作
?* 4.釋放資源
?*/
public class Server {
?? ?public static void main(String[] args) throws IOException {
?? ??? ?System.out.println("------server----------");
?? ??? ?//1.指定端口:使用ServerSocket創(chuàng)建服務器
?? ??? ?ServerSocket server=new ServerSocket(8888);
?? ??? ?//2.阻塞式等待連接accept
?? ??? ?Socket client=server.accept();//一次accept就是一個連接
?? ??? ?System.out.println("一個客戶端建立了連接");
?? ??? ?//3.輸入輸出流操作
?? ??? ?DataInputStream dis=new DataInputStream(client.getInputStream());
?? ??? ?String data=dis.readUTF();//接收數(shù)據(jù)
?? ??? ?System.out.println(data);
?? ??? ?//4.釋放資源
?? ??? ?dis.close();
?? ??? ?client.close();
?? ??? ?server.close();
?? ?}
?? ?
}
標簽: