网络编程作业 UDP (客户与咨询通话)

来源:互联网 发布:ps3验证游戏数据 编辑:程序博客网 时间:2024/05/18 01:59
使用基于UDP的Java Socket编程,完成在线咨询功能:
 * 1)客户向咨询人员咨询。
 * 2)咨询人员给出回答。

 * 3)客户和咨询人员可以一直沟通,直到客户发送bye给咨询人员。

import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;/** * 使用基于UDP的Java Socket编程,完成在线咨询功能: * 1)客户向咨询人员咨询。 * 2)咨询人员给出回答。 * 3)客户和咨询人员可以一直沟通,直到客户发送bye给咨询人员。 * @author Administrator *客户 */public class ClientA {public static void main(String[] args) throws Exception {//创建DatagramSocket 发送和接收都需要用DatagramSocket da = new  DatagramSocket(8888);Scanner sc = new Scanner(System.in);while (true) {//拿到要发送的数据String str = sc.nextLine();//用byte数组把数据封装起来byte[] b = str.getBytes();//创建通讯载体:数据,数据的长度,自己的IP地址,目的地地址DatagramPacket dp = new DatagramPacket(b, b.length, InetAddress.getLocalHost(), 9999);//发送数据包da.send(dp);//创建新的byte数组 准备接收数据byte []b2 = new byte[1024];//创建通讯载体接收数据DatagramPacket dp2 = new DatagramPacket(b2, b2.length);da.receive(dp2);System.out.println("客服工作人员:"+new String(dp2.getData(),0,dp2.getLength()));//判断是否退出if("bye".equalsIgnoreCase(str)){break;}}da.close();}}
import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.util.Scanner;/** *  * @author Administrator * 客服工作人员 */public class ServerA {public static void main(String[] args) throws Exception {//创建DatagramSocket 发送和接收都需要用DatagramSocket da = new  DatagramSocket(9999);Scanner sc = new Scanner(System.in);while (true) {//创建byte数组 准备接收数据byte []b2 = new byte[1024];//创建通讯载体接收数据DatagramPacket dp2 = new DatagramPacket(b2, b2.length);da.receive(dp2);//创建String数组存储数据String st = new String(dp2.getData(),0,dp2.getLength());System.out.println("客户意见:"+st);//比较数据是否需要退出if(st.equals("bye")){System.out.println("感谢您的建议,欢迎下次咨询");break;}//拿到要发送的数据String str = sc.nextLine();//用byte数组把数据封装起来byte[] b = str.getBytes();//创建通讯载体:数据,数据的长度,自己的IP地址,目的地地址DatagramPacket dp = new DatagramPacket(b, b.length, InetAddress.getLocalHost(), 8888);da.send(dp);}da.close();}}



阅读全文
0 0
原创粉丝点击