使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。

使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello,world”,客户端收到数据后打印输出。

服务器端

import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServer {

	public static void main(String[] args) throws IOException, InterruptedException {
		// TODO Auto-generated method stub
		ServerSocket serverSocket=new ServerSocket(8001);//创建serversocket对象
		Socket client=serverSocket.accept();//调用serversocket的accept接收数据
		OutputStream os=client.getOutputStream();//获取客户端输出流
		System.out.println("开始与客户端进行交互数据");
		os.write("欢迎".getBytes());//当客户端里链接到服务端时,向客户端输出数据
		Thread.sleep(5000);//模拟执行与其他功能占用时间
		System.out.println("结束与客户端交互数据");
		os.close();
		client.close();
	}

}

客户端

import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpClient {

	public static void main(String[] args) throws UnknownHostException, IOException {
		// TODO Auto-generated method stub
		//创建一个Socket并链接到给出的地址和端口号的计算机
		int port=8001;
		Socket client=new Socket(InetAddress.getLocalHost(), port);
		InputStream is=client.getInputStream();//得到接受的输入流
		byte[] buf=new byte[1024]; //定义一个1024个字节数组的缓冲区
		int len=is.read(buf);//将数据读到缓冲区
		System.out.println(new String(buf,0,len));//关闭socket对象,释放资源
		client.close();
	}

}

发布了79 篇原创文章 · 获赞 1 · 访问量 656

猜你喜欢

转载自blog.csdn.net/zhupengqq1/article/details/103974397