美文网首页
初涉网络编程

初涉网络编程

作者: jian321 | 来源:发表于2017-10-20 12:14 被阅读0次

一:实验目标

实现一个简单的客户服务器GUI小程序

二:实验要求

1 、服务器程序最多同时接受5个客户的访问。
2 、实现迭代回声服务器功能,循环接受客户消息,并以特定消息结束服务(当用户输入quit时,服务器结束本次的服务)
3、实现服务器端简单的智能回答
[附注:实现语言:java]

三:实验详细过程

一、如何实现最多接受五个客户的访问?
答:通过增加一个循环语句,控制访问过程。通过ServerSocket对象创建一个服务监听端,调用accept()函数监听是否有客户请求连接。

ServerSocket s_socket = new ServerSocket(PORT);
....
for (int i = 0; i < 5; i++) {
  Socket socket = s_socket.accept();
  ...
  socket.close();
}
s_socket.close();

二、如何实现同时访问?
答:可以通过在服务端创建线程实现多个客户端对服务端的访问。
三:服务端和客户端之间怎样进行交互?使用何种协议?
答:使用的协议有 TCPUDP 协议。本次实验所用协议为TCP--通过调用 DataInputStream()DataOutputStream() 实现服务端和客户端之间的信息交互。

in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());

三:如何设计简单的问答?如何体现智能?
答:通过客户端输入的信息,对信息进行 关键字 搜索,到服务端的数据中心进行匹配,通过使用正则表达式对字符串进行匹配操作。可以对同一类问题设置多个回答,调用 Random() 函数产生随机数,模拟随机回答。

四:运行界面如下图:


四:实验总结

1、设置监听端口时需要主要端口占用问题。通过在控制台输入 netstat -ano 命令查看本机端口使用情况.
2、运行程序时,程序卡在中途无法运行:原因:服务端代码与客户端代码在同一个主函数里,当运行到服务端代码时,程序阻塞,导致整个程序阻塞。解决方案:
一、使客户端和服务端代码分离。
二、在调用服务端代码时,可以创建一个新的线程,实现并行运行。

相关文章

  • 初涉Java Socket 编程!!!!

    InetAddress获取网络上的硬件对象(IP地址代表的对象和主机名) ULR统一资源定位符 获取一个URL 对...

  • 面向切面编程(AOP)初涉

    原文链接:http://www.jianshu.com/p/20381c6b9251 面向切面编程(AOP)是 A...

  • 面向切面编程(AOP)初涉

    面向切面编程(AOP)是 Aspect Oriented Programming 的缩写,脱胎于函数式编程,是一种...

  • 初涉网络编程

    一:实验目标 实现一个简单的客户服务器GUI小程序 二:实验要求 1 、服务器程序最多同时接受5个客户的访问。2 ...

  • 初涉.

  • 初涉

    环境造就格局预定义人生, 人们忽略换位想掌控乾坤。 骄傲而固执的人认为世间没有对错, 平静的银河系中无数的星系在黑...

  • 系统与网络编程-(网络编程初讲)

    系统与网络编程 OSI模型 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 socket 在网络编程中...

  • Python学习笔记-第6天:初涉GUI编程

    第六天 初涉GUI编程 在web编程的主流时代,GUI用的确实不多。学习这一块的目的计划承上启下,巩固下面向对象编...

  • 初涉npm

    NPM是什么 NPM(node package manager Node包管理器)以往的Web开发中,JS文件数量...

  • 诗坛初涉

    诗坛初涉 写了多少首, 我从未细数; 改了多少次, 也未在意。 怎知道, 语言是否传统。 怎知道, 又有多少层次...

网友评论

      本文标题:初涉网络编程

      本文链接:https://www.haomeiwen.com/subject/pwvmuxtx.html