《java网络编程2.ppt》由会员分享,可在线阅读,更多相关《java网络编程2.ppt(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Hands-On实训教程系列java网络编程网络编程(TCP)Hands-On实训教程系列实训教程系列本章目标本章目标简单TCP编程高级TCP编程聊天程序的综合编程 Hands-On实训教程系列实训教程系列简单简单TCP编程流程编程流程客户端服务器端创建 Socket对象,并指定连接的服务器的IP地址和端口号:Socket s=new Socket(IP,port)通过s获得输入输出流 InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream();通过输入输出流在套接字中读取发送数据发送:ops.write(s
2、endStr.getBytes();接收:int length=ips.read(buf);/buf为字节数组/套接字服务器,相当于中心号码 ServerSocket ss=new ServerSocket(port);/等待被呼叫,建立一个Socket Socket s=ss.accept();通过s获得输入输出流 InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream();通过输入输出流在套接字中读取发送数据发送:ops.write(sendStr.getBytes();接收:int length=ips.
3、read(buf);/buf为字节数组 Hands-On实训教程系列实训教程系列简单简单TCP编程案例编程案例服务器端public class SimpleTcpServer public static void main(String args)try /套接字服务器,相当于中心号码 ServerSocket ss=new ServerSocket(8001);/等待被呼叫,建立一个Socket Socket s=ss.accept();/从建立的Socket中建立字节输入输出流,读取或发送数据 InputStream ips=s.getInputStream();OutputStream
4、ops=s.getOutputStream();/以字节的形式接收数据 byte buf=new byte1024;int length=ips.read(buf);/听 System.out.println(服务器接收:+new String(buf,0,length);/以字节的形式发送一条固定语句(写字节)String sendStr=服务器发送的数据;ops.write(sendStr.getBytes();/关闭 ips.close();ops.close();s.close();ss.close();catch(Exception ex)ex.printStackTrace();H
5、ands-On实训教程系列实训教程系列简单简单TCP编程案例编程案例客户端public class SimpleTcpClient public static void main(String args)try /创建客户端套接字指定连接的IP地址和端口号 Socket s=new Socket(InetAddress.getByName(127.0.0.1),8001);/创建输入输出流 InputStream ips=s.getInputStream();OutputStream ops=s.getOutputStream();/往套接字中写数据(字节)String sendStr=客户端
6、发送的数据;ops.write(sendStr.getBytes();/接收数据并显示出来 byte buf=new byte1024;int length=ips.read(buf);System.out.println(客户端接收:+new String(buf,0,length);/关闭 ips.close();ops.close();s.close();catch(Exception ex)ex.printStackTrace();Hands-On实训教程系列实训教程系列TCP编程总结编程总结服务器端必须先启动服务器指定了端口号后,客户端创建套接字时必须使用相同的端口号客户端需知道服务
7、器的IP地址客户端连接到服务器后,通过输入输出流进行信息交流,实际是在Socket中进行读写数据问题怎样做到服务器端和客户端都能自由发送和接收呢?Hands-On实训教程系列实训教程系列高级高级TCP编程编程主要思路服务器端开启接收和发送两个线程客户端开启接收和发送两个线程实际案例 Hands-On实训教程系列实训教程系列聊天程序的综合编程聊天程序的综合编程一、服务器端1、启动和终止服务2、记录注册用户信息(数据库)3、标记登录用户信息(设置一个标志位,登录用户为1)4、在线用户下线记录二、登录1、获取用户名,密码,本机的IP地址,端口号固定为(9000)2、使用:分隔符组成字符串3、通过Socket对象连接服务器4、服务器读出数据分解出用户名,密码,IP地址,查看数据库中是否有该用户,若有,将IP地址记录,若没有,提示注册用户三、客户端聊天界面1、登录成功用户启动客户端聊天界面,设置一个集合,存放已经登录的用户(标志位)2、主线程为发送信息,判断是群聊还是私聊,如果是群聊,把信息发送给服务器,再由服务器转发(TCP),接收线程1负责读取socket数据;如果是私聊,建立双方的UDP连接,把信息打包成数据报,由DatagramSocket发送数据,接收线程2负责接收用户数据报
限制150内