Java网络编程TCP通信

本文展示了如何使用Java实现TCP/IP通信。在服务器端,通过ServerSocket监听9999端口,接收客户端连接并读取发送的数据。客户端则通过Socket连接服务器,发送'hello'消息并关闭连接。示例代码详细解释了服务器和客户端的通信流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、服务器端

package com.NetComunication;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServer {

	public static void main(String[] args) throws Exception{
		
		System.out.println("启动服务器!!!");	
//		(1)创建服务器套接字
		ServerSocket serverSocket  = new ServerSocket(9999);
//		(2)等待客户端连接请求,一旦接收请求,将和客户端建立连接,返回一个Socket套接字
		Socket  socket = serverSocket.accept();
		System.out.println("服务器和客户端建立好了连接!!");
		System.out.println("服务器收到的信息为:");
//		(3)使用套接字获取输入流和输出流
		InputStream inputStream = socket.getInputStream();
//		OutputStream outputStream = socket.getOutputStream();
//		(4)通信:使用输入流读取接收到的信息,使用输出流写发送的信息。
		byte[] bs = new byte[1024];
		int i = inputStream.read(bs);
		while(i !=-1) {
			System.out.println(new String(bs , 0 , i));
			i = inputStream.read(bs);
		}
		inputStream.close();
		System.out.println("服务器接收信息完毕!");
//		(5)关闭Socket套接字
		socket.close();
//		(6)关闭服务器套接字
		serverSocket.close();
		System.out.println("通讯完毕,服务器关闭!");
	}
}

2、客户端

package com.NetComunication;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class TcpClient {

	public static void main(String[] args) throws Exception{
		// localhost或者127.0.0.1
		System.out.println("开启客户端!");
//		(1)创建套接字,向服务器发送连接请求(需要服务器的IP和端口号),和服务器建立连接。
		Socket   cSocket = new Socket("192.168.2.117", 9999);
//		(2)使用套接字获取输入流和输出流	
		System.out.println("客户端和服务器建立好了连接!!!");
		OutputStream outputStream = cSocket.getOutputStream();//	InputStream inputStream = cSocket.getInputStream();
//		(3)通信:使用输出流写发送的信息。
		System.out.println("服务器发送的信息为:");
		outputStream.write("hello ".getBytes() );
		outputStream.close();
		System.out.println("客户端发送数据完毕!");
//		(4)关闭Socket套接字
		cSocket.close();
		System.out.println("客户端通讯结束!");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值