java学习笔记--------java网络编程基础一
来源:互联网 发布:java jdbc学生管理 编辑:程序博客网 时间:2024/05/01 07:55
今天才开始接触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());//服务器接受到数据后,反馈数据给客户端//需要定义服务器自己的PrintWriterPrintWriter pw = new PrintWriter(s.getOutputStream(),true);pw.println("客户端你好,我是服务器");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stubMyServer1 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 blocke.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stub MyClient1 mc = new MyClient1();}}
运行效果:
服务器:
客户端:
- java学习笔记--------java网络编程基础一
- Java学习笔记(七、网络编程基础)
- Java 网络编程 学习笔记一 基础知识
- Java学习笔记(一) 编程基础
- java学习笔记------java网络编程基础二
- 【Java笔记】网络编程基础
- Java网络编程学习笔记(一)基本网络概念
- Java网络编程基础学习
- Java基础-网络编程学习
- java笔记-网络编程-网络基础
- 黑马程序员 Java基础学习笔记 网络编程
- java基础学习笔记——网络编程
- java网络编程学习笔记
- JAVA网络编程学习笔记
- java网络编程学习笔记
- java学习笔记-网络编程
- Java网络编程 学习笔记
- Java学习笔记------网络编程
- Java:计算某个月份的天数
- 校招季——编程题目(14) 逆序数
- 不要以你的现状来判断你的未来--俞敏洪
- Socket/TCP粘包、多包和少包, 断包
- iOS调用本地通讯录
- java学习笔记--------java网络编程基础一
- 复习一
- 搜索引擎日志分析
- 桃花庵歌
- puduino 命令行连接无线网
- Java:MD5 Hash
- 两个日期相差天数计算
- To 小伟
- javascript 闭包 变量释放GC 测试