TCP发送与接收数据

//客户端java

package liu.net.tcp;服务器


import java.io.IOException;socket

import java.io.OutputStream;tcp

import java.net.Socket;ide

import java.net.UnknownHostException;spa


public class Client {.net

/* tcp 客户端创建的步骤对象

* 1.创建tcp客户端服务资源

* 1.1 由于是面向链接的,必须有链接才能够进行通讯get

* 1.2在创建客户端时,必须明确目的地地址和端口

* 2.一旦创建,就有了传输数据的通道,能够在通道中进行数据传输

* 这个传输其实就是经过流来实现的,这个流就是 socket io 流

* 3.只要获取 socket io 中的写动做就能够把数据写入socket流中发给服务器端

* 4.关闭资源

*/

public static void main(String[] args) throws UnknownHostException, IOException {

System.out.println("客户端启动。。。");

//1.建立客户端对象,明确目的地址和端口号

Socket s = new Socket("127.0.0.1",8899);

//2.获取socket流中的输出流,将数据发送给服务器

OutputStream out = s.getOutputStream();

//经过输出流写数据

out.write("TCP 客户端发送给服务器的数据".getBytes());

//关闭资源

s.close();

}

}



//服务器端

package liu.net.tcp;


import java.io.IOException;

import java.io.InputStream;

import java.net.ServerSocket;

import java.net.Socket;


public class Server {

public static void main(String[] args) throws IOException {

/*建立TCP 服务器端步骤:

* 1.建立socket服务器端服务。服务器端为了让客户端能连上,必须提供端口。监听一个端口

* 2.获取客户端对象。经过客户端的socket流和对应的客户端进行通讯

* 3.获取客户端socket的读取流

* 4.读取数据并显示在服务器端

* 5.关闭资源

*/

System.out.println("服务器启动。。");

//1.建立服务端对象

ServerSocket ss = new ServerSocket(8899);

//2.获取客户端对象

Socket s = ss.accept();

//3.获取客户端的输入流

InputStream is = s.getInputStream();

byte[] buf = new byte[1024];

int len = is.read(buf);

String data = new String(buf,0,len);

System.out.println("服务器端收到的信息:"+data);

}


}

相关文章
相关标签/搜索