java学习笔记--------java网络编程基础一

本文介绍了Java网络编程的基础,通过ServerSocket和Socket实现简单的客户端与服务器间的通信过程。包括代码示例及运行效果。

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

今天才开始接触java网络编程,作为一个程序菜鸟,只是基本的学习了一下ServerSocket和Socket,估计连皮毛都算不上,唉,一步一步网上爬。。。


模拟服务器使用了ServerSocket对本机的9999端口进行监听,而使用Socket模拟客户端与9999端口服务器进行通信,交换数

(PS:可以在cmd中使用netstat -an来查看端口使用情况,也可以使用netstat -anb来检查端口使用详情,注意以管理员身份运行cmd)


代码如下:

服务器:


//定义一个服务器   监听9999端口
package ServerTest1;

import java.io.*;
import java.net.*;

public class MyServer1 {
	
	public MyServer1(){
		try {
			//用ServerSocket在9999端口进行监听
			ServerSocket ss = new ServerSocket(9999);
			System.out.println("我是服务器,我在9999端口进行监听");
			//等待某个客户端程序来连接,该函数会返回一个socket连接     
			//等待过程中程序会在下面一行代码卡住,直到有客户端进程连接
			Socket s = ss.accept();
			System.out.println("连接建立");
			
			//连接成功后   接收数据
			InputStreamReader isr = new InputStreamReader(s.getInputStream());
			BufferedReader br = new BufferedReader(isr);
			
			System.out.println("我是服务器,我接受到了数据:"+br.readLine());
			
			//服务器接受到数据后,反馈数据给客户端
			//需要定义服务器自己的PrintWriter
			PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
			pw.println("客户端你好,我是服务器");
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		MyServer1 ms = new MyServer1();
	}

}
客户端:
//定义一个客户端,用于与9999端口的服务器程序进行连接交互
package ClientTest1;

import java.io.*;
import java.net.*;

public class MyClient1 {

	public MyClient1(){
		try {
			//使用Socket与本机9999端口连接
			Socket s = new Socket("127.0.0.1",9999);
			
			//连接成功后   向服务器发送数据
			//我们通过pw来向s写入数据    true代表即时刷新
			PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
			pw.println("服务器你好,我是客户端^_^");
			
			//接受来自服务器的反馈
			InputStreamReader isr = new InputStreamReader(s.getInputStream());
			BufferedReader br = new BufferedReader(isr);
			
			System.out.println("我是客户端,收到反馈:"+br.readLine());
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		MyClient1  mc = new MyClient1();
	}

}

运行效果:

服务器:

             

客户端:

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值