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();

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容