西农java实习八_网络编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息工程学院1

《Java语言程序设计》实验报告

学院:信息学院班级:********** 姓名:pprp 学号:**********3 成绩:

一、实习目标

(1)描述掌握Socket通信

(2)掌握UDP数据报通信

(3)掌握多线程网络编程

二、实验过程

任务一:掌握Socket类的使用

在两台机器上分别运行以下服务器端程序和客户端程序,观察程序的多次运

行结果,回答问题。

实验报告的内容与格式按任课教师的要求书写。

:public class 5已rver { ill 12 13 14 15 ^16 17 18 19 10 21 22

23 24 25 26 27 Q E ) public static void [Fiaini(5tring[] 日rgs) { Serversocket sSocket = null ; Soc ket socket = null; try { sS&cket = new ServerSoek^t(201B); } catch (lOException e) { System.out ,printin ("端口F.对占吕i

lh

); } try { socket = sSocket +acceptt); System .out .println(50c

//si

//s2 //s3 //s4 //s5 //s6

8 public class Client { public static void mgin(String[] args) {

I© Socket docket = new Socket (); 实际报务器端主机IP

//el 11 InetSocketAddress isa = new InetSocketAddress('"2618); 12

try { 13 s&eket .eonnett

//c4

16 Systemi, out H print In (socket //c5

System * println(^ocket -getlocaLPortt)); /^cG 18 socket*close();

19

} catch (lOException e) { 20

System.out.print5广直歸务器葬或"); 21 } 23 } 23 } 观察服务器端和客户端的输出,说明添加注释的每行代码作用 截图:两次服务器与客户端的输出,可以发现两次所用到的端口是随机生成的是 不一致的

/127-0.0.1

2018

/127.0.0,1:59368 59368

^127,0,0.1 59368

/127-0<0.1:2018 201S

/127.0.0.1

2018

/127-0.0.1:59898

59898

|/127.0,0,1

59898

/127.0.0.1:2018

2018

代码如下:

package work!;

import java.io.IdExemption;[]

public class Server {

public static void main(String[] args) {

ScrvcrSockct sSockct - rullj Socket socket - null;

try { sSocket = new Se rve rSocket(2018);

} catch (IOException el) { System.out*print丄n("端口已枫占用!;

}

try {

socket = sSocket, acceipt()j

System.out,prin tlnfsocket.get InetAddress());

System .out ・println (呂.RetPort ());

System.out・println(socket.getLocalSocketAddress());

SystRiuouf. print In (socket ・grtLocalPort());

} catch (IOException e) {

System .out. printin ("薩接容户端异常「);

}

}

}

package workl;

import java,io.IOException;」

public class Client {

public static void main(String []日rg 訂 throws lOException {

Socket sorkrt = new Socket(}j

InertSocketAddress isa = new InetSocketAddress ("127.0.6.1 ",2£ll8}; try (

socket ,connect(isa); System. cut . println( socket . ^etlneIzAdd 广es5());

System ・out f println(socket »getPort());

Systcim.flut^rintlntsofket^gPtLocalSockctAddrcsst)); System.omt ” printIn (socket .getLota!Port()}; } catch (IOExcept±on e) {

System, cut . print In 器异當、");

问题回答:

S1:实例化ServerSocket 对象,并指定服务器中的端口为 2018

S2: ServerSocket 对象的accept()方法示例化Socket 对象,并阻塞进程,

等待用户端的连接

S3:打印服务器端套接字连接的IP 地址 S4:打印服务器端套接字连接的远程端口

S5:得到服务器端套接字绑定的本地IP 地址及端口 S6:打印服务器端套接字绑定的本地端口

C1:实例化Socket 对象 C2 :将InetSocketAddress

类实例化的对象中所包含的服务器主机 IP 及

端口,调用connect ()方法,传入至Socket 类中,与服务器进行连接

C3 :打印用户端套接字连接的IP 地址

//r ;

g

HZ

//C5

相关文档
最新文档