为了账号安全,请及时绑定邮箱和手机立即绑定

Java Socket应用---通信是这样练成的

难度初级
时长 2小时 0分
学习人数
综合评分9.77
496人评价 查看评价
9.9 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • 多线程服务器: 应用多线程来实现服务器与多客户端之间的通信 基本步骤: 1、服务器端创建ServerSocket,循环调用accept()等待客户端连接 2、客户端创建一个socket并请求和服务器端连接 3、服务器端接受客户端的请求,创建socket与客户端建立专线连接 4、建立连接的两个socket在一个单独的线程上对话 5、服务器端继续等待新的连接
    查看全部
  • socket通信模型
    查看全部
  • //1.创建客户端Socket,指定服务器地址和端口 Socket socket=new Socket("localhost".8888); //2.获取输出流,想服务器端发送信息、 OutputStream os=socket.getOutputStream();//字节输出流 //3.将输出流包装为打印流 PrintWriter pw=new PrinrWriter(os); //4.指定输出信息 pw.write("用户名 :admin 密码 :123"); //5.调用flush()方法将缓冲输出 pw.flush(); //6.关闭输出流 socket.shutdownOutput(); //7.关闭资源 br.close(); is.close(); pw.close(); os.close(); socket.close();
    查看全部
  • 服务端: 1、创建ServerSocket对象,绑定监听端口 2、通过accept方法侦听客户端请求 3、连接建立后,通过输入流读取客户端发送的请求信息 4、通过输出流向客户端发送响应信息 5、关闭资源 客户端: 1、创建Socket,指明需要连接的服务器地址和端口号 2、连接建立后,通过输出流向服务器发送请求信息 3、通过输入流获取服务器响应的信息 4、关闭相关资源 //1.创建一个serverSocket,绑定监听端口 ServerSocket serverSocket = new ServerSocket(8888); //2.调accept()方法开始监听,等待客户端连接 System.out.println("***服务器即将启动,等待连接***"); Socket socket = serverSocket.accept(); //3.获取输入流,用来读取客户端发送的信息 InputStream is=socket.getInputStream()//字节输入流 InputStreamReader ir = new InputStreamReader(is);//将字节流转为字符流 BufferedReader br = new BufferedReader(ir);//为输入流添加缓冲 String data = br.readLine(); while(data!=null){ System.out.println("我是服务器,客户端说:" + data); data = br.readLine(); } socket.shutdownInput(); //注意:关闭输入流,否则会造成阻塞。 //关闭资源 br.close(); ir.close(); is.close(); socket.close(); serverSocket.close();
    查看全部
  • 通信过程(Socket通信模型): 1、在服务端建立一个ServerSocket,绑定相应的端口,并且在指定的端口进行侦听,等待客户端的连接。 2、当客户端创建连接Socket并且向服务端发送请求。 3、服务器收到请求,并且接受客户端的请求信息。一旦接收到客户端的连接请求后,会创建一个链接socket,用来与客户端的socket进行通信。 通过相应的输入/输出流进行数据的交换,数据的发送接收以及数据的响应等等。 4、当客户端和服务端通信完毕后,需要分别关闭socket,结束通信。 ServerSocket常用方法: ServerSocket(int port)——创建并绑定到特定端口的服务器套接字 accept()——侦听并接受到此套接字的连接 close()——关闭此套接字 getInetAddress()——得到ServerSocket对象绑定的IP地址。如果ServerSocket对象未绑定IP地址,返回0.0.0.0。 getLocalPort()——返回此套接字在其上侦听的端口 Socket常用方法: Socket(InetAddress address, int port)——创建一个套接字并将其连接到指定ip地址的指定端口号 Socket(String host, int port)——创建一个套接字并将其连接到指定主机上的指定端口号 close()——关闭此套接字 getInetAddress()——返回套接字连接的地址 getInputStream()——返回此套接字的输入流 getOutputStream——返回此套接字的输出流
    查看全部
    0 采集 收起 来源:Socket 简介

    2016-08-08

  • 2、使用url读取网页内容:<br> URL url=new URL("http://www.baidu.com");<br> //获取输入流通过openStream方法<br> InputStream is=url.openStream();<br> //转化成字符输入流<br> InputStream isr=new InputStreamReader(is);<br> //加缓冲提高读取效率<br> BufferedReader br=new BufferedReader();<br> String date=br.readline(); while(date!=null) { System.out.print(date); date=br.readLine(); } 完成后要关闭资源相关资源:br,isr字符输入流,is字节输入流 注:如果输出是乱码则要在is字节输入流中规定编码为 InputStream isr=new InputStreamReader(is,"utf8");<br>
    查看全部
  • HTTP:80 端口号
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

  • 问好后面传参数,#号表示 的是锚点
    查看全部
  • URL类
    查看全部
  • java中四种网络支持类
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

  • 常用的端口号:http--80, ftp--21, telnet--23
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

  • socket:由端口号和IP地址组成。socket是tcp和udp的基础
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

  • // 获取本机的InetAddress实例 InetAddress address = InetAddress.getLocalHost(); System.out.println("计算名:" + address.getHostName()); System.out.println("IP地址:" + address.getHostAddress()); byte[] bytes = address.getAddress();// 获取字节数组形式的IP地址 System.out.println("字节数组形式的IP:" + Arrays.toString(bytes)); System.out.println(address);// 直接输出InetAddress对象 // 根据机器名获取InetAddress实例 // InetAddress address2=InetAddress.getByName("laurenyang"); // 根据ip地址获取InetAddress实例 InetAddress address2 = InetAddress.getByName("1.1.1.10"); System.out.println("计算名:" + address2.getHostName()); System.out.println("IP地址:" + address2.getHostAddress());
    查看全部
  • Socket编程 一、网络基础知识 两台计算机要通过网络进行通信必备条件a、唯一的标识IP地址 b、需要共同的语言--协议 c、辨别不同的应用程序--端口号。 1.IP地址 每台计算机的唯一标识,用来区分网络中的不同主机,是两台主机进行网络通信必不可少的。IPV4 2、协议: a、TCP/IP协议:目前世界上应用最为广泛的协议。是以TCP和IP为基础的不同层次上多个协议的集合。也称为:TCP/IP协议族或者TCP/IP协议栈 b、TCP Transmission Control Protocol传输控制协议 c、IP Internet Protocol 互联网协议 d、TCP/IP模型(网络分层) 1:物理层,网线…… 2: 数据链路层 3:网络层 4:传输层 5:应用层:HTTP超文本传输协议、FTP文件传输协议、SMTP简单邮件传送协议、Telnet远程登录服务 3、端口号: a、用于区分不同的应用程序 b、端口号范围为0-65535,其中0-1023为系统所保留; c、IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和 UDP的基础 d、常用端口号:http:80;ftp:21;telnet:23 java中的网络支持 针对网络通信的不同层次,java提供的网络功能有四大类 1、InetAddress:用于标识网络上的硬件资源(IP地址) 2、URL:统一资源定位符--通过URL可以直接读取或写入网络上的数据 3、Sockets:使用TCP协议实现网络通信的Socket相关的类 4、Datagram:使用UDP协议。将数据保存在数据报中,通过网络进行通信
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

  • Java中的网络支持四大类
    查看全部
    0 采集 收起 来源:网络基础简介

    2016-08-07

举报

0/150
提交
取消
课程须知
本课程是 Java 开发课程的高级课程,需要对 Java 中的面向对象、IO、多线程,以及网络相关知识有一定的基础
老师告诉你能学到什么?
1、网络相关的基础知识 2、Java 中网络相关 API 的应用 3、实现基于 TCP 的 Socket 编程 4、实现基于 UDP 的 Socket 编程

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!