TCP通信过程

public static void Client()

{

Socket socket = null;    //实现客户端套接字(也可以就叫“套接字”)

OutputStream output = null;         //输出流

try {

socket = new Socket(InetAddress.getLocalHost(),8888);          /*套接字的实例化,可以使默认的套接字,但是由于在通信中要知道对方的端口和IP等地址值信息所以一般需要定义

output = socket.getOutputStream();        //套接字类中一般有方法产生输入流和输出流

output.write("你是我额客户端".getBytes());//写入内容可以使用Scanner类的控制台输入。 

output.flush();                          //输出流中一般在使用后需要清空通道(flush()方法的作用)

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

if(socket != null)

try {

socket.close();                           //套接字同流一样需要关闭

output.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

///服务端

public static void Server()

{

ServerSocket serversocket=null;           //接收端也就是服务端一般需要一个是接收套接字的类

try {

serversocket = new ServerSocket(8888);      //实例化是要得到确定的端口号或者IP号,以保证在三次握手过程中能够连接

Socket socket = serversocket.accept();    //得到发送过来的套接字类

InputStream input = socket.getInputStream();

byte[] arr = new byte[10];

int length;

while((length = input.read(arr)) != -1)//读取信息

{

String str = new String(arr,0,length);

System.out.println(str);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

try {

serversocket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

你可能感兴趣的:(TCP通信过程)