《移动通信软件编程基础-JAVA》第十二章 实验手册

  • 格式:doc
  • 大小:216.50 KB
  • 文档页数:6

《移动通信软件编程基础-JAVA》第十二章 实验手册

【实验目标】

完成本章的内容以后,您将达到: 把握网络编程的差不多概念

编写UDP网络程序

编写TCP网络程序本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。

第一时期——指导学习(40分钟)

编写两个UDP程序,编译并运行

建立文件名为“UDPSend.java”,输入以下程序代码。

import .*;

/**

* 使用UDP实现数据发送

* @1.0版 2008年8月18日

* @author xx

*/

public class UDPSend

{

//主函数

public static void main(String[] args) throws Exception

{

DatagramSocket ds = new DatagramSocket();//建立发送数据报套接字

String StrHello = " Hello world!!! ";

/*将要传送的信息打包为数据报包:

*包数据

*包长度

*目的地址

*目的端口号

*/

DatagramPacket dp = new

DatagramPacket(StrHello.getBytes(),StrHello.length(),

InetAddress.getByName("127.0.0.1"),2000);

ds.send(dp);//使用数据包套按字发送数据报包

ds.close();

}

}

建立文件名为“UDPReceive.java”,输入以下程序代码。

import .*;

/**

* 使用UDP实现数据接收

* @1.0版 2008年8月18日

* @author xx

*/

public class UDPReceive

{

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket(2000);//建立接收数据包套接字

byte[] buf = new byte[1024];

DatagramPacket dp = new DatagramPacket(buf,1024);//实现接收的数据报包

ds.receive(dp);//接收数据报包

//从接收到的数据报包取出数据

String StrRecv = new String(dp.getData(),0,dp.getLength()) + " from "

+ dp.getAddress().getHostAddress() + ":" +

dp.getPort();

System.out.println(StrRecv);

ds.close();//关闭接收数据报套接字

}

}

编写两个TCP程序,编译并运行

建立文件名为“TcpClient.java”,输入以下程序代码。

import .*;

import java.io.*;

/**

* TCP网络程序客户端

* @1.0版 2008年8月18日

* @author xx

*/

public class TcpClient

{

public static void main(String[] args)

{

try

{

if(args.length < 2)

{

//创建Socket对象,实现网络通信

Socket S = new

Socket(InetAddress.getByName("127.0.0.1"),6000);//连接服务端

InputStream InInfo = S.getInputStream();//网络数据接收流

OutputStream OutInfo = S.getOutputStream();//网络数据发送流

OutInfo.write("OK!!!".getBytes());//向网络发送信息

byte[] buf = new byte[1024];

int Len = InInfo.read(buf);//接收从网络接收到的数据

System.out.println(new String(buf,0,Len));//在操纵台输出网络接收到的数据

InInfo.close();//关闭输入流 OutInfo.close();//关闭输出流

S.close();//关闭网络连接

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

建立文件名为“TcpServer.java”,输入以下程序代码。

import .*;

import java.io.*;

/**

* TCP网络程序服务器端

* @1.0版 2008年8月18日

* @author xx

*/

public class TcpServer

{

public static void main(String[] args)

{

try

{

ServerSocket SS = new ServerSocket(6000);//创建服务器对象,端口号6000

Socket S = SS.accept();//创建Socket对象,实现网络信息发送与接收

InputStream InInfo = S.getInputStream();//获得网络输入流

OutputStream OutInfo = S.getOutputStream();//创建网络输出流

OutInfo.write("Welcome to IMTI!!!".getBytes());//如果建立了网络连接发送消息给要求端

byte[] buf = new byte[1024];

int Len = InInfo.read(buf);//从要求端猎取发送给服务器端的信息

System.out.println(new String(buf,0,Len));//在操纵台输入发送来信息。

InInfo.close();//关闭网络输入流

OutInfo.close();//关闭网络输出流

S.close();//关闭Socket连接

SS.close();//关闭ServerSocket连接

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

第二时期——练习(40分钟)

习题一

编写一个简单的UDP的谈天室

窗体底部

第三时期——作业(课后) 作业一

使用Swing及其事件实现一个带界面的TCP谈天程序(客户端/服务器端)