电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

JAVA套接字编程分析

8页
  • 卖家[上传人]:壹****1
  • 文档编号:457369862
  • 上传时间:2023-05-16
  • 文档格式:DOC
  • 文档大小:70.64KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、JAVA套接字(Socket)编程分析班级:11计科6班 姓名:叶创建 学号:201141402601一、TCP 套接字编程功能:服务端启动后,客户端往服务端发送小写字母,服务端返回大写字母。new Socket();创建套接字对象客户端服务端程序框图:new SocketServer();创建套接字服务建立连接创建输出流new OutputStreamWriter(),从键盘录入字母accept();获得Socke对象,并监听客户端new BufferedReader()获得输入流new BufferedReader)获得输入流,打印字母toUpperCase()转换为大写字母if 客户端发送OVERclose()关闭套接字new PrintWriter()创建输出流,输出大写字母if 客户端发送OVERclose()关闭套接字TCP服务端程序代码:class TransServerpublic static void main(String args) throws Exception ServerSocket ssk = new ServerSocket(10001);/创建So

      2、cket服务Socket sk = ssk.accept();/获取客户端Socket对象String ip = sk.getInetAddress().getHostAddress();/获取客户端IPSystem.out.println(ip+is connected.);BufferedReader bufIn= new BufferedReader(new InputStreamReader(sk.getInputStream();/获得输入流对象PrintWriter out = new PrintWriter(sk.getOutputStream(),true);/获得输出流对象String line =null;while(line=bufIn.readLine()!=null)System.out.println(line);out.println(line.toUpperCase();/转换成小写sk.close();ssk.close();TCP客户端程序代码:class TransClientpublic static void main(String args)

      3、 throws ExceptionSocket sk = new Socket(localhost,10001);BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in);PrintWriter out = new PrintWriter(sk.getOutputStream(),true);BufferedReader bufIn = new BufferedReader(new InputStreamReader(sk.getInputStream();String line = null;while(line=bufr.readLine()!=null)if (over.equals(line)/over结束对话break;System.out.println(line);out.println(line);String str = bufIn.readLine();System.out.println(server:+str);bufr.close();sk.close();运行效果: T

      4、CP套接字分析:1. 对于服务端ServerSocket ssk = new ServerSocket(10001);创建Socket服务,接收端口为10001,这个端口必须是唯一的,范围在065535之间.2. 客户端创建Socket服务,往服务端IP的10001端口发送数据;服务端调用ssk.accept();获取客户端的Socket对象,监听的端口为100013. 获取客户端发送的数据,即输入流.4. 把字母转换后生成输出流,传回给客户端.5. 最好关闭套接字对象.6. 其中对于输入流和输出流,这些输入IO技术,因为传送的是字母,不是二进制文件,所以只需调用字符流对象即可.7. 服务端只有一个,而客户端有多个,每一个客户端连接服务端的时候,服务端都会获得一个Socket对象,所以在程序池里面会有多个不同的Socket对象.8. ssk.accept()是个阻塞方法,所以在编写程序的时候要特别注意,不能让服务端和客户端同时在等待.9. 多个客户端连接服务端的时候需要排队,如需并发进行,需要运用java的多线程技术.二、UDP套接字编程(UDP聊天室)new DatagramSock

      5、et()创建套接字接收端发送端程序框图:new DatagramSocket(8085)创建套接字new DatagramPacket()创建包对象,指定监听端口new DatagramPacket()对数据进行打包,指定目的地IP和端口ds.send(dp);发送包ds.receive(dp);接受发送端数据close()关闭套接字if 客户端发送OVERclose()关闭套接字程序代码:import .*;import java.io.*;class Send implements Runnableprivate DatagramSocket ds;public Send(DatagramSocket ds)this.ds = ds ;public void run()tryBufferedReader bufr = new BufferedReader(new InputStreamReader(System.in);String line;while(line=bufr.readLine()!=null )byte buf = line.getBytes();DatagramP

      6、acket dp =new DatagramPacket(buf,buf.length,InetAddress.getByName(127.0.0.1),81);ds.send(dp);if(886.equals(line)break;catch (Exception e )throw new RuntimeException(发送端失败);class Rece implements Runnable private DatagramSocket ds;public Rece(DatagramSocket ds)this.ds=ds;public void run()trywhile(true)byte buf = new byte1024;DatagramPacket dp = new DatagramPacket(buf,buf.length);ds.receive(dp);String ip = dp.getAddress().getHostAddress();int port = dp.getPort();String data = new String(dp.getData(

      7、),0 ,dp.getLength();System.out.println(ip+:+port+-+data);catch (Exception e )throw new RuntimeException(发送端失败);class ChatDemo public static void main(String args) throws Exceptionnew Thread(new Send(new DatagramSocket(8085).start();new Thread(new Rece(new DatagramSocket(81).start();运行效果UDP套接字分析:1. DatagramSocket()是java中创建UDP的Socket对象的构造方法,发送方调用该方法,指定程序的端口,用于识别程序.调用 DatagramPacket()对数据进行打包,指定目的地IP地址和接收端口,最后调用send()方法把包发送出去.2. 接收方调用DatagramSocket(81)方法指定监听的端口,调用DatagramPacket()创建包,再调用ds.receive(dp)接收81端口发送过来的包.其中dp.getData()方法是获得包里面的数据,再打印在控制台上.3. 发送端和接收端都用了while循环,不断接不断收.再调用java 的多线程技术使两个程序能过并发进行.4. 该UDP聊天室只能在本地进行收发,如果需要改成局域网的聊天室,则只需要把发送端程序的目的IP改为广播地址,广播地址一般为网段后在最后一个IP.

      《JAVA套接字编程分析》由会员壹****1分享,可在线阅读,更多相关《JAVA套接字编程分析》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.