《移动通信软件编程基础-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谈天程序(客户端/服务器端)