JAVA实验-综合应用实验(3)

2025-10-15

outBuffer = currDate.toString().getBytes();

reply = new DatagramPacket(outBuffer, outBuffer.length, clientAddress, clientPort); timeSocket.send(reply); } }finally{

timeSocket.close(); }

}catch(IOException ex){ System.out.println(ex);

}catch(NumberFormatException e){

System.out.println(\ }

System.exit(0); }

}

(1)客户端程序:UDPDaytimeClient

import java.net.*; import java.io.*;

public class UDPDaytimeClient {

public static void main(String[] args) { String host;

InetAddress hostAddress; byte[] outBuffer=new byte[1]; byte[] inBuffer=new byte[512]; DatagramPacket request; DatagramPacket reply; DatagramSocket timeSocket; if(args.length<2){

System.out.println(\serverPort\

System.out.println(\ }else{ try{

host=args[0];

hostAddress=InetAddress.getByName(host);

System.out.println(\正在取得\的日期...\ timeSocket=new DatagramSocket(); // 创建请求和应答缓冲区

request = new DatagramPacket(outBuffer, outBuffer.length, hostAddress, Integer.parseInt(args[1])); reply = new DatagramPacket(inBuffer, inBuffer.length); // 发送请求并读取应答 try{

java

UDPDaytimeClient

serverName

timeSocket.setSoTimeout(5*1000); timeSocket.send(request); timeSocket.receive(reply); System.out.print(\时间服务器应答:\

new String(inBuffer, 0, reply.getLength())); }finally{

timeSocket.close(); }

}catch(IOException ex){ System.out.println(ex);

}catch(NumberFormatException e){

System.out.println(\ } }

System.exit(0); }

}

运行结果: 服务器:

客户端:

五、实验结果及分析

单纯的做上面的实验并不能真正学到多少,因为通常java都是做服务端的,跟其他不同平台进行数据通信,于是我为了加深对Socket的了解,我特意为iPhone写了个客户端,服务端依然用java,测试它们之间数据的传送。 运行结果如下: Iphone端:

连接后接收到来自java服务端的字符串。

点击计算,发送边长给服务器,并获取计算结果。

服务端:

在编写iPhone端的Socket客户端期间遇到了很大问题。 Java服务端识别不了iPhone端发送的字符串。于是各种谷歌搜索,发现问题如下,原来java的readUTF读取的字符跟objective-c 的并不完全相同。

但是没有问题是解决不了的,最后还是解决了这个奇怪的问题。


JAVA实验-综合应用实验(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:前期物业服务合同 贵阳住房和城乡建设局

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219