《Java预热班讲义》PPT课件.ppt_第1页
《Java预热班讲义》PPT课件.ppt_第2页
《Java预热班讲义》PPT课件.ppt_第3页
《Java预热班讲义》PPT课件.ppt_第4页
《Java预热班讲义》PPT课件.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京传智播客教育,Java预热班培训课程,第九讲Socket网络编程,讲师:徐文海,北京传智播客教育,网络编程,网络协议IP地址与端口号本地回路地址:有效端口:065535(尽量使用1024以上的)UDP与TCP(高级协议)Udp:用户数据包协议,面向无连接,不保证数据的可靠性,不安全,速度快。Tcp:传输控制协议,面向连接,提供可靠无差错的协议,安全,三次握手。,北京传智播客教育,Socket,Socket就是网络驱动层提供给应用程序编程的接口和一种机制。通信的两端都有Socket。网络通信其实就是Socket间的通信。数据在两个Socket间通过IO传输。Socket在应用程序中创建,通过一种绑定机制与驱动程序建立关系,告诉自己所对应的IP和port。,北京传智播客教育,UDP传输,DatagramSocket与DatagramPacket建立发送端,接收端。建立数据包。调用Socket的发送接收方法。关闭Socket。发送端与接收端是两个独立的运行程序。,北京传智播客教育,发送端,在发送端,要在数据包对象中明确目的地IP及端口。DatagramSocketds=newDatagramSocket();byteby=“hello,udp”.getBytes();DatagramPacketdp=newDatagramPacket(by,0,by.length,InetAddress.getByName(“”),10000);ds.send(dp);ds.close();,北京传智播客教育,接收端,在接收端,要指定监听的端口。DatagramSocketds=newDatagramSocket(10000);byteby=newbyte1024;DatagramPacketdp=newDatagramPacket(by,by.length);ds.receive(dp);Stringstr=newString(dp.getData(),0,dp.getLength();System.out.println(str+-+dp.getAddress();ds.close();,北京传智播客教育,UDP聊天程序,通过键盘录入获取要发送的信息。BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);br.readLine();将发送和接收分别封装到两个线程中。main()线程和newThread()线程,北京传智播客教育,TCP传输,Socket和ServerSocket建立客户端和服务器端建立连接后,通过Socket中的IO流进行数据的传输关闭socket同样,客户端与服务器端是两个独立的应用程序。,北京传智播客教育,基本思路(客户端),客户端需要明确服务器的ip地址以及端口,这样才可以去试着建立连接,如果连接失败,会出现异常。连接成功,说明客户端与服务端建立了通道,那么通过IO流就可以进行数据的传输,而Socket对象已经提供了输入流和输出流对象,通过getInputStream(),getOutputStream()获取即可。与服务端通讯结束后,关闭Socket。,北京传智播客教育,基本思路(服务端),服务端需要明确它要处理的数据是从哪个端口进入的。当有客户端访问时,要明确是哪个客户端,可通过accept()获取已连接的客户端对象,并通过该对象与客户端通过IO流进行数据传输。当该客户端访问结束,关闭该客户端。,北京传智播客教育,客户端,通过Socket建立对象并指定要连接的服务端主机以及端口。Sockets=newSocket(“”,9999);OutputStreamout=s.getOutputStream();out.write(“hello”.getBytes();s.close();,北京传智播客教育,服务端,建立服务端需要监听一个端口ServerSocketss=newServerSocket(9999);Sockets=ss.accept();InputStreamin=s.getInputStream();bytebuf=newbyte1024;intnum=in.read(buf);Stringstr=newString(buf,0,num);System.out.println(s.getInetAddress().toString()+”:”+str);s.close();ss.close();,北京传智播客教育,思考,对于Web服务器而言,当有多个客户端同时访问服务器时,服务端又如何提供服务呢?,北京传智播客教育,TCP网络程序的工作原理,TCP客户端程序与TCP服务器端程序的交互过程:服务器端程序创建一个ServerSocket,然后调用accept方法等待客户来连接。客户端程序创建一个Socket并请求服务器端建立连接。服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论