//客户端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);
}
}