下面是TCP java网络编程的基础示例:
tcp传输:客户端建立过程的思路:
1、创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机2、如果连接建立成功,说明数据传输通道已经建立,该通道就是Socket的I/O流,是底层建立好的,既然是流,就说明有输入流,就有输出流,要换取就找socket获取相关的流即可, getInputStream()和getOutputStream()的字节流。3、使用输出流,将数据输出;使用输入流,把数据输入。4、关闭资源。tcp传输:服务器端建立过程的思路:
1、创建TCP服务端的Socket服务,通过ServerSocket对象创建。
2、服务器端对外提供提供一个端口,否则客户端无法连接。3、获取连接过来的客户端对象。4、通过客户端对象获取socket流,读取客户端发来的数据,并打印出来5、关闭资源。客户端如下:
public class ClientDemo {
public static void main(String[] args) throws UnknownHostException, IOException {
//1.创建TCP客户端的Socket服务 Socket socket = new Socket("192.168.5.163",10000); //2.获取Socket的输出流 OutputStream outputStream =socket.getOutputStream(); //3.使用输出流将数据输出 outputStream.write("tcp 客户端演示".getBytes()); //4.关闭资源 socket.close(); }}服务器端如下:
public class ServerDemo {
public static void main(String[] args) throws IOException {
//1.创建服务器对象 ServerSocket ss = new ServerSocket(10000); //2.获取连接过来的客户端对象 Socket s = ss.accept(); String ip =s.getInetAddress().getHostAddress(); //3.通过Socket对象获取输入流,获取客户端发送来的数据 InputStream is =s.getInputStream(); byte[] buf =new byte[1024]; int len =is.read(buf); String testString =new String(buf,0,len); System.out.println( ip +"说:s" + testString); s.close(); ss.close(); }}