实验七使用TCP 协议的Socket 网络程序设计Word下载.docx

上传人:b****6 文档编号:20044073 上传时间:2023-01-16 格式:DOCX 页数:13 大小:59.31KB
下载 相关 举报
实验七使用TCP 协议的Socket 网络程序设计Word下载.docx_第1页
第1页 / 共13页
实验七使用TCP 协议的Socket 网络程序设计Word下载.docx_第2页
第2页 / 共13页
实验七使用TCP 协议的Socket 网络程序设计Word下载.docx_第3页
第3页 / 共13页
实验七使用TCP 协议的Socket 网络程序设计Word下载.docx_第4页
第4页 / 共13页
实验七使用TCP 协议的Socket 网络程序设计Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验七使用TCP 协议的Socket 网络程序设计Word下载.docx

《实验七使用TCP 协议的Socket 网络程序设计Word下载.docx》由会员分享,可在线阅读,更多相关《实验七使用TCP 协议的Socket 网络程序设计Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

实验七使用TCP 协议的Socket 网络程序设计Word下载.docx

Clientclient=newClient(port);

client.start();

}

publicstaticvoidmain(String[]args)

newServerClient(7777);

}//服务器线程

classServerextendsThread

{//使用端口号

intport;

ServerSocketserver;

Socketsocket;

//服务器输出流

DataOutputStreamoutStream=null;

//服务器输入流

DataInputStreaminStream=null;

publicServer(intport)

try

this.port=port;

server=newServerSocket(port);

catch(Exceptione)

System.out.println(e.toString());

publicvoidrun()

//监听用户连接

socket=server.accept();

outStream=newDataOutputStream(socket.getOutputStream());

inStream=newDataInputStream(socket.getInputStream());

//服务器准备好,可以进行通讯

System.out.println("

serverisok,pleasecontinue!

"

);

while(true)

//读取从客户端发送的信息

Stringstr=inStream.readUTF();

TheserverreceiveString:

+str);

//将信息重新向客户端发送

outStream.writeUTF(str);

}

classClientextendsThread

{//指定通讯端口

publicClient(intport)

this.port=port;

//建立同本地机子的socket连接

socket=newSocket(InetAddress.getLocalHost(),port);

//客户端准备好,可以进行通讯

clientisok,pleasecontinue!

byte[]b=newbyte[1024];

Stringstr="

;

//从键盘读取字符串

intm=System.in.read(b);

str=newString(b,0,0,m-1);

//向服务器发送信息

//从服务器读取信息

str=inStream.readUTF();

TheclientreceiveString:

}

运行结果:

客户端源程序:

publicclassSocketClient

{

Sockets=null;

publicSocketClient()

try{

init();

waitData();

}catch(Exceptione)

voidinit()throwsException

s=newSocket("

10.15.43.216"

8765);

inStream=newDataInputStream(s.getInputStream());

outStream=newDataOutputStream(s.getOutputStream());

s.setSoTimeout(3000);

voidwaitData()

Clientaccept:

str=Integer.toString(Integer.parseInt(str)+1);

break;

newSocketClient();

2、使用ServerSocket类和Socket类实现按如下协议通信的服务器端和客户端

程序。

服务器程序的处理规则如下:

1)向客户端程序发送VerifyingServer!

2)若读口令次数超过3次,则发送IllegalUser!

给客户端,程序退出。

否则

向下执行步骤3)。

3)读取客户端程序提供的口令。

4)若口令不正确,则发送PassWordWrong!

给客户端,并转步骤2),否则

向下执行步骤5)。

5)发送RegistrationSuccessful!

给客户端程序。

客户端程序的处理规则如下:

1)java.io.*;

pu读取服务器反馈信息。

2)若反馈信息不是VerifyingServer!

,则提示ServerWrong!

,程序退出。

则向下执行步骤3)

3)提示输入PassWord并将输入的口令发送给服务器。

4)读取服务器反馈信息。

5)若反馈信息是IllegalUser!

,则提示IllegalUser!

否则向下执

行步骤6)

6)若反馈信息是PassWordWrong!

,则提示PassWordWrong!

,并转步骤3),

否则向下执行步骤。

7)输出RegistrationSuccessful!

服务器:

publicclassMyServer

{

publicstaticvoidmain(Stringargs[])

{

try{

ServerSocketss=newServerSocket(7777);

System.out.println("

WebServerOK"

while(true)

{

Sockets=ss.accept();

Process1p=newProcess1(s);

Threadt=newThread(p);

t.start();

}

}

catch(IOExceptione)

System.out.println(e);

classProcess1implementsRunnable

Sockets;

inti=0;

DataOutputStreamoutStream=null;

publicProcess1(Sockets1)

try

{

s=s1;

inStream=newDataInputStream(s.getInputStream());

outStream=newDataOutputStream(s.getOutputStream());

catch(Exceptione)

{

System.out.println(e.toString());

}

publicvoidrun()

try

Stringfay_s1=newString("

VerifyingServer!

Stringfay_s3=newString("

PassWorldWrong!

Stringfay_s4=newString("

RegistrationSuccessful!

outStream.writeUTF(fay_s1);

for(i=0;

i<

3;

i++)

{

Stringfay_s2=inStream.readUTF();

if(!

fay_s2.equals("

19880801"

))

outStream.writeUTF(fay_s3);

else

{

outStream.writeUTF(fay_s4);

}

}

outStream.writeUTF("

IllegalUser!

System.exit

(1);

}

catch(Exceptione)

客户端:

publicclassMyClient

publicstaticvoidmain(Stringargs[])

try{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

Sockets=newSocket("

127.0.0.1"

7777);

DataInputStreaminStream=null;

outStream=newDataOutputStream(s.getOutputStream());

Stringlr_s1=inStream.readUTF();

if(lr_s1.equals("

while(true)

System.out.println("

PleaseInputPassworld"

Stringlr_s2=in.readLine();

outStream.writeUTF(lr_s2);

Stringlr_s3=inStream.readUTF();

if(lr_s3.equals("

System.out.println("

System.exit

(1);

elseif(lr_s3.equals("

System.out.println(lr_s3);

else

else

Serverwrong!

catch(IOExceptione)

{}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1