java 简单Tcp通信 小实验

java也可以写基于tcp的客户端服务端,java在这方面专门提供了一套api,下面请看图看代码。

下面先看客户端代码

package TCP;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {
	public static void main(String[]arge) throws UnknownHostException, IOException {
		TcpClient();
	}
	
	public static void TcpClient() throws UnknownHostException, IOException {
		
			//创建套接流用于连接一个服务端
			Socket s=new Socket("192.168.8.99", 100);
			//得到一个流对象并将其放在缓冲流中
			BufferedOutputStream out=new BufferedOutputStream(s.getOutputStream());
			//与服务端会话  发送你是小白兔吗
			out.write("你是小白兔吗".getBytes());
			//刷新缓冲区
			out.flush();
			//创建一个输入流
			InputStream in=s.getInputStream();
			//创建一个数组
			byte[]  bf=new byte[1024];
			//读取流中的内容并将其存到byte数组中
			int n=in.read(bf);
			//打印服务端给我们的会话
			System.out.println(new String(bf, 0, n));
			s.close();
		
	}


}

服务端代码

ckage socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;


/*
 *     scoket  tcp通信服务端
 * 
 * */

public class Socket_server {
	public static void main(String[]arge){
		
		//System.out.println("Hello");
		ServerTcpServer();
		
	}
	
	public static void ServerTcpServer(){
		ServerSocket ss;
		try {
			//创建一个套接字,并绑定一个端口
			ss=new ServerSocket(100);
			//监听套接子并返回
			Socket s=ss.accept();
			//创建一个读取流
			InputStream in=s.getInputStream();
			//创建一个byte数组
			byte[] bf=new byte[1024];
			//读取流中的内容并存储到byte数组中
			int len=in.read(bf);
			//输出客户端发来的数据
			System.out.println(new String(bf,0,len));
			//创建一个输出流
			OutputStream out=s.getOutputStream();
			String  a="不,我是大灰狼";
			//向客户端发送  我是灰狼
			out.write(a.getBytes());
			//关闭流资源
			s.close();
			ss.close();
			
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
	
	
}


猜你喜欢

转载自blog.csdn.net/qq_38318622/article/details/79790778