实现了基于TCP的Java Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello",客户端接收并输出。

1.服务器端

  1. package javase.net.socket;
  2. import java.io.DataInputStream;
  3. import java.io.DataOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. import java.net.ServerSocket;
  8. import java.net.Socket;
  9. public class TCPServer {
  10. public static void main(String[] args) {
  11. try {
  12. ServerSocket serverSocket = new ServerSocket(8888);
  13. Socket socket = serverSocket.accept();
  14. // 读取客户端数据
  15. InputStream info = socket.getInputStream();
  16. DataInputStream dis = new DataInputStream(info);
  17. System.out.println(dis.readUTF());
  18. // 向客户端输出数据
  19. OutputStream os = socket.getOutputStream();
  20. DataOutputStream dos = new DataOutputStream(os);
  21. dos.writeUTF("Hello!");
  22. dos.flush();
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. }
  26. }
  27. }

2.客户端:

    1. package javase.net.socket;
    2. import java.io.DataInputStream;
    3. import java.io.DataOutputStream;
    4. import java.io.IOException;
    5. import java.io.InputStream;
    6. import java.io.OutputStream;
    7. import java.net.Socket;
    8. import java.net.UnknownHostException;
    9. public class TCPClient {
    10. public static void main(String[] args) {
    11. try {
    12. Socket socket = new Socket("192.168.1.123", 8888);
    13. // 向服务器端发送数据
    14. OutputStream os =  socket.getOutputStream();
    15. DataOutputStream bos = new DataOutputStream(os);
    16. bos.writeUTF("Connect");
    17. bos.flush();
    18. // 接收服务器端数据
    19. InputStream is = socket.getInputStream();
    20. DataInputStream dis = new DataInputStream(is);
    21. System.out.println(dis.readUTF());
    22. } catch (UnknownHostException e) {
    23. e.printStackTrace();
    24. } catch (IOException e) {
    25. e.printStackTrace();
    26. }
    27. }
    28. }

基于连接的Java网络编程的更多相关文章

  1. java 网络编程复习(转)

    好久没有看过Java网络编程了,现在刚好公司有机会接触,顺便的拾起以前的东西 参照原博客:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942 ...

  2. Java 网络编程(转)

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  3. 关于Java网络编程

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  4. Java网络编程和NIO详解9:基于NIO的网络编程框架Netty

    Java网络编程和NIO详解9:基于NIO的网络编程框架Netty 转自https://sylvanassun.github.io/2017/11/30/2017-11-30-netty_introd ...

  5. Java 网络编程 -- 基于TCP 模拟多用户登录

    Java TCP的基本操作参考前一篇:Java 网络编程 – 基于TCP实现文件上传 实现多用户操作之前先实现以下单用户操作,假设目前有一个用户: 账号:zs 密码:123 服务端: public c ...

  6. Java 网络编程学习总结

    新手一枚,Java学习中,把自己学习网络编程的知识总结一下,梳理下知识,方便日后查阅,高手莫进. 本文的主要内容: [1]    网络编程认识                [2]  TCP/IP编程 ...

  7. 20145337实验五Java网络编程及安全

    20145337实验五Java网络编程及安全 实验内容 掌握Socket程序的编写 掌握密码技术的使用 设计安全传输系统 实验步骤 基于Java Socket实现安全传输 基于TCP实现客户端和服务器 ...

  8. JAVA课程实验报告 实验五 Java网络编程及安全

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计  班级:1353  姓名:韩玉琪  学号:20135317 成绩:             指导教师:娄嘉 ...

  9. 20145225《Java程序设计》 实验五 Java网络编程及安全

    20145225<Java程序设计> 实验五 Java网络编程及安全 实验报告 一.实验内容 基于Java Socket实现安全传输. 基于TCP实现客户端和服务器,结对编程一人负责客户端 ...

随机推荐

  1. js对比for、forEach、map遍历数组速度

    function a() { var arr = new Array(1000000); for(var i = 0; i < arr.length;i ++) { arr[i] = i; } ...

  2. 05.Python高级编程

    1 ==,is的使用 is 是比较两个引用是否指向了同一个对象(地址引用比较). == 是比较两个对象是否相等.(比较的数值) 2 深拷贝.浅拷贝.copy.copy 2.1 浅拷贝 浅拷贝: 拷贝的 ...

  3. 36.分页及deep paging

    主要知识点 1.es分页 2.deep paging     一.es分页语法 size,from 这两个关键字 GET /_search?size=10 指定每页10条数据 GET /_search ...

  4. struts2中<jsp:forward>跳转时报404错误的问题

    index.jsp页面:     <jsp:forward page="show.action"></jsp:forward>      在struts.x ...

  5. Spring Cloud系列(三) 应用监控与管理Actuator

    Spring Cloud系列(二) 应用监控与管理Actuator 前言:要想使用Spring Cloud ,Spring Boot 提供的spring-boot-starter-actuator模块 ...

  6. navicat 为表添加索引

    navicat 为表添加索引 分析常用的查询场景,为字段添加索引,增加查询速度. 可以添加单列索引,可以添加联合索引. 右键,设计表中可以查看和添加修改索引! 索引一定要根据常用的查询场景进行添加! ...

  7. eclipse快捷键深入理解

    1.Eclipse 中的重构功能使其成为了一个现代的 Java 集成开发环境 (IDE),而不再是一个普通的文本编辑器.使用重构,您可以轻松更改您的代码,而不必担心对别处造成破坏. 2.Eclipse ...

  8. HDU 4906 Our happy ending (状压DP)

    HDU 4906 Our happy ending pid=4906" style="">题目链接 题意:给定n个数字,每一个数字能够是0-l,要选当中一些数字.然 ...

  9. 开源 免费 java CMS - FreeCMS2.0 会员password设置

    项目地址:http://www.freeteam.cn/ password设置 从右側管理菜单点击password设置进入.   输入正确的当前password和新password后点击改动就可以.

  10. Android之怎样更改获取焦点的先后顺序

    在组件中增加<requestFocus />能够首先获得焦点 以TextView为例: 例如以下: <TextView         android:layout_width=&q ...