Java网络编程-实现客户端与服务器连接

涎涎原创约 637 字大约 2 分钟...JavaJava

248-Java网络编程-实现客户端与服务器连接.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

概念

示例代码

package com.tencent.chapter05;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

//服务器
public class Server {

	public static void main(String[] args) {
		ServerSocket ss = null;
		Socket socket = null;
		try {
			//1.启动服务器
			ss = new ServerSocket(8888);
			System.out.println("服务器已启动....");
			
			//2.等待客户端连接
			socket = ss.accept();//阻塞式方式,直到客户端连接进来,后续代码才能继续执行
			System.out.println("有新的客户端连接进来........" + socket.getInetAddress() + ":" + socket.getPort());
			
			//5.接收客户端发送的消息
			InputStream in = socket.getInputStream();				//字节流   一个字节一个字节读取数据
			InputStreamReader inReader = new InputStreamReader(in); //字符流  一个字符一个字符读取数据
			BufferedReader reader = new BufferedReader(inReader);   //字符流  一行一行读取数据
			
			String message = reader.readLine();
			System.out.println("客户端说:" + message);
			
			//6.给客户端发送消息
			PrintWriter writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); //字符流  一行一行输出数据
			writer.println("你好,我不在,请留言!!!");
			writer.flush();
			
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			//8.关闭资源、释放资源
			try {
				if(socket != null)
				{
					socket.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				if(ss != null)
				{
					ss.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
}
package com.tencent.chapter05;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

//客户端
public class Client {

	public static void main(String[] args) {
		Socket socket = null;
		try {
			//3.连接服务器
			socket = new Socket("127.0.0.1",8888);//localhost 127.0.0.1表示本机    也可以写具体的IP地址
		
			//4.给服务器发送消息
			OutputStream out = socket.getOutputStream();               //字节流    一个字节一个字节输出数据
			OutputStreamWriter outWriter = new OutputStreamWriter(out);//字符流     一个字符一个字符输出数据
			PrintWriter writer = new PrintWriter(outWriter);           //字符流  一行一行输出数据
			
			writer.println("你好,在吗?");
			writer.flush();
			
			//7.接收服务器消息
			BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); //字符流  一行一行读取数据
			String message = reader.readLine();
			System.out.println("服务端说:" + message);
			
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			//8.关闭资源、释放资源
			try {
				if(socket != null)
				{
					socket.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

分割线


相关信息

以上就是我关于 Java网络编程-实现客户端与服务器连接 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4