当前位置: 首页 > news >正文

同城做鸭网站搜外

同城做鸭网站,搜外,公众号开发者密码,wordpress html5视频播放插件4. 综合练习 练习一:多发多收 需求: 客户端:多次发送数据 服务器:接收多次接收数据,并打印 代码示例: public class Client {public static void main(String[] args) throws IOException {//客户端&…

4. 综合练习

练习一:多发多收

需求:

客户端:多次发送数据

服务器:接收多次接收数据,并打印

代码示例:

public class Client {public static void main(String[] args) throws IOException {//客户端:多次发送数据//服务器:接收多次接收数据,并打印
​//1. 创建Socket对象并连接服务端Socket socket = new Socket("127.0.0.1",10000);
​//2.写出数据Scanner sc = new Scanner(System.in);OutputStream os = socket.getOutputStream();
​while (true) {System.out.println("请输入您要发送的信息");String str = sc.nextLine();if("886".equals(str)){break;}os.write(str.getBytes());}//3.释放资源socket.close();}
}
public class Server {public static void main(String[] args) throws IOException {//客户端:多次发送数据//服务器:接收多次接收数据,并打印
​//1.创建对象绑定10000端口ServerSocket ss = new ServerSocket(10000);
​//2.等待客户端来连接Socket socket = ss.accept();
​//3.读取数据InputStreamReader isr = new InputStreamReader(socket.getInputStream());int b;while ((b = isr.read()) != -1){System.out.print((char)b);}
​//4.释放资源socket.close();ss.close();}
}

练习二:接收并反馈

  • 案例需求

    客户端:发送数据,接受服务器反馈

    服务器:收到消息后给出反馈

  • 案例分析

    • 客户端创建对象,使用输出流输出数据

    • 服务端创建对象,使用输入流接受数据

    • 服务端使用输出流给出反馈数据

    • 客户端使用输入流接受反馈数据

  • 代码实现

    // 客户端
    public class ClientDemo {public static void main(String[] args) throws IOException {Socket socket = new Socket("127.0.0.1",10000);
    ​OutputStream os = socket.getOutputStream();os.write("hello".getBytes());// os.close();如果在这里关流,会导致整个socket都无法使用socket.shutdownOutput();//仅仅关闭输出流.并写一个结束标记,对socket没有任何影响BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line;while((line = br.readLine())!=null){System.out.println(line);}br.close();os.close();socket.close();}
    }
    // 服务器
    public class ServerDemo {public static void main(String[] args) throws IOException {ServerSocket ss = new ServerSocket(10000);
    ​Socket accept = ss.accept();
    ​InputStream is = accept.getInputStream();int b;while((b = is.read())!=-1){System.out.println((char) b);}
    ​System.out.println("看看我执行了吗?");
    ​BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream()));bw.write("你谁啊?");bw.newLine();bw.flush();
    ​bw.close();is.close();accept.close();ss.close();}
    }

练习三:上传练习(TCP协议)

  • 案例需求

    客户端:数据来自于本地文件,接收服务器反馈

    服务器:接收到的数据写入本地文件,给出反馈

  • 案例分析

    • 创建客户端对象,创建输入流对象指向文件,每读一次数据就给服务器输出一次数据,输出结束后使用shutdownOutput()方法告知服务端传输结束

    • 创建服务器对象,创建输出流对象指向文件,每接受一次数据就使用输出流输出到文件中,传输结束后。使用输出流给客户端反馈信息

    • 客户端接受服务端的回馈信息

  • 相关方法

    方法名说明
    void shutdownInput()将此套接字的输入流放置在“流的末尾”
    void shutdownOutput()禁止用此套接字的输出流
  • 代码实现

    public class Client {public static void main(String[] args) throws IOException {//客户端:将本地文件上传到服务器。接收服务器的反馈。//服务器:接收客户端上传的文件,上传完毕之后给出反馈。
    ​
    ​//1. 创建Socket对象,并连接服务器Socket socket = new Socket("127.0.0.1",10000);
    ​//2.读取本地文件中的数据,并写到服务器当中BufferedInputStream bis = new BufferedInputStream(new FileInputStream("mysocketnet\\clientdir\\a.jpg"));BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());byte[] bytes = new byte[1024];int len;while ((len = bis.read(bytes)) != -1){bos.write(bytes,0,len);}
    ​//往服务器写出结束标记socket.shutdownOutput();
    ​
    ​//3.接收服务器的回写数据BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = br.readLine();System.out.println(line);
    ​
    ​//4.释放资源socket.close();
    ​}
    }
    public class Server {public static void main(String[] args) throws IOException {//客户端:将本地文件上传到服务器。接收服务器的反馈。//服务器:接收客户端上传的文件,上传完毕之后给出反馈。
    ​
    ​//1.创建对象并绑定端口ServerSocket ss = new ServerSocket(10000);
    ​//2.等待客户端来连接Socket socket = ss.accept();
    ​//3.读取数据并保存到本地文件中BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("mysocketnet\\serverdir\\a.jpg"));int len;byte[] bytes = new byte[1024];while ((len = bis.read(bytes)) != -1){bos.write(bytes,0,len);}bos.close();//4.回写数据BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write("上传成功");bw.newLine();bw.flush();
    ​//5.释放资源socket.close();ss.close();}
    }

练习四:文件名重复

 ```java
public class UUIDTest { public static void main(String[] args) { String str = UUID.randomUUID().toString().replace("-", ""); System.out.println(str);//9f15b8c356c54f55bfcb0ee3023fce8a } } ```public class Client {public static void main(String[] args) throws IOException {//客户端:将本地文件上传到服务器。接收服务器的反馈。//服务器:接收客户端上传的文件,上传完毕之后给出反馈。
​
​//1. 创建Socket对象,并连接服务器Socket socket = new Socket("127.0.0.1",10000);
​//2.读取本地文件中的数据,并写到服务器当中BufferedInputStream bis = new BufferedInputStream(new FileInputStream("mysocketnet\\clientdir\\a.jpg"));BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());byte[] bytes = new byte[1024];int len;while ((len = bis.read(bytes)) != -1){bos.write(bytes,0,len);}
​//往服务器写出结束标记socket.shutdownOutput();
​
​//3.接收服务器的回写数据BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));String line = br.readLine();System.out.println(line);
​
​//4.释放资源socket.close();
​}
}
public class Server {public static void main(String[] args) throws IOException {//客户端:将本地文件上传到服务器。接收服务器的反馈。//服务器:接收客户端上传的文件,上传完毕之后给出反馈。
​
​//1.创建对象并绑定端口ServerSocket ss = new ServerSocket(10000);
​//2.等待客户端来连接Socket socket = ss.accept();
​//3.读取数据并保存到本地文件中BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());String name = UUID.randomUUID().toString().replace("-", "");BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("mysocketnet\\serverdir\\" + name + ".jpg"));int len;byte[] bytes = new byte[1024];while ((len = bis.read(bytes)) != -1) {bos.write(bytes, 0, len);}bos.close();//4.回写数据BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));bw.write("上传成功");bw.newLine();bw.flush();
​//5.释放资源socket.close();ss.close();}

http://www.yidumall.com/news/40580.html

相关文章:

  • 电子商务网站调研报告seo点击软件哪个好用
  • 台州做网站需要多少钱成都优化网站哪家公司好
  • 网站做优化的好处搜索引擎优化简称seo
  • 横沥网站设计百度企业查询
  • 免费建站cmsseo职位
  • wordpress转发东莞seo计费管理
  • 有那个网站做简历模板周口网站seo
  • wordpress版权文字厦门seo结算
  • 重庆在百度做个网站多少钱aso优化服务
  • 济南建筑公司在线刷seo
  • axure做的网站可以用吗3seo
  • 南充网站建设公司枸橼酸西地那非片的作用及功效
  • 广州营销网站建设seo泛目录培训
  • 做app好 还是讯网站好网络营销策略包括哪几大策略
  • 已注册商标查询官网网站优化关键词排名公司
  • 东莞樟木头网站建设开封网站seo
  • 做网站简单还是做app简单哪家公司做推广优化好
  • 网站推广做哪个比较好seo搜索引擎优化实训
  • 孙俪做的网站广告贴吧引流推广
  • vip视频解析网站怎么做的中国国家人事人才培训网
  • 有哪些做简历的好网站万网官网
  • 丹阳市房产信息网360优化大师下载安装
  • 宁夏银川做网站的公司有哪些做直销去哪里找客户
  • 麻花星空影视传媒制作公司天津网站seo设计
  • wordpress配置邮箱北京网站优化外包
  • 福鼎网站建设网站建设需要多少钱
  • 谷歌英文网站优化怎么做
  • 淘宝上面建设网站企业网站seo案例
  • 网站登记备案 个人空间刷赞网站推广
  • 做企业云网站的企业seo短视频入口引流