《Java程序设计》第三次作业:网络编程

作业的目标

目标1:Socket简单应用。  把教材P238-230中例11-5代码输入到我们的代码编辑器,调试并运行(80分)。

P238客户端程序

import java.io.*;
import java.net.*;
public class ChatClient {
	public static void main(String args[]){
		try{
			Socket socket=new Socket("127.0.0.1",4001);
			System.out.println("输入你要说的话,如果要退出输入bye");
			BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
			PrintWriter os=new PrintWriter(socket.getOutputStream());
			BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			String readline;
			readline =sin.readLine();
			while(! readline.equals("bye")){
				os.println(readline);
				os.flush();
				System.out.println("Client:"+readline);
				System.out.println("Server:"+is.readLine());
				readline=sin.readLine();
			}
			os.close();
			is.close();
			socket.close();
		}catch(Exception e){
			System.out.println("Error"+e);
		}
	}
}

P238-230 服务器端程序

import java.io.*;
import java.net.*;
import java.applet.Applet;
public class ChatServer {
	public static void main(String args[]){
		try{
			ServerSocket server=null;
			try{
				server=new ServerSocket(4001);
				System.out.println("准备好了,退出输入bye");
			}catch(Exception e){
				System.out.println("can not listen to:"+e);
			}
			Socket socket=null;
			try{
				socket=server.accept();
			}catch(Exception e){
				System.out.println("Error."+e);
			}
			String line;
			BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			PrintWriter os=new PrintWriter(socket.getOutputStream());
			BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
			System.out.println("Client:"+is.readLine());
			line=sin.readLine();
			while(! line.equals("bye")){
				os.print(line);
				os.flush();
				System.out.println("Client:"+is.readLine());
				line=sin.readLine();
			}
			os.close();
			is.close();
			socket.close();
			server.close();
		}catch(Exception e){
			System.out.println("Error:"+e);
		}
	}
}
时间: 2024-10-11 08:58:27

《Java程序设计》第三次作业:网络编程的相关文章

Week09《java程序设计》第九次作业总结

Week09<java程序设计>第九次作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 答: 2. 书面作业 本次作业题集集合 1. List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至少2种在List中删除元素的方法. 答: 实验总结:在public static List 删除元素的方法: 1. 从list的后面开始删除 for (int i =list.size()-1 ; i >-1; i--) { if(lis

Java基础复习笔记系列 九 网络编程

Java基础复习笔记系列之 网络编程 1. 2.

java程序设计作业 c.njupt.edu.cn java实现第三次作业

王利国的"Java语言程序设计第3次作业(2018)"详细 作业结果详细 总分:100 选择题得分:60 1. 设有如下定义语句: String s1="My cat"; int m=s1.compareTo("My a cat"); 语句被执行后m的值为( ) A.2 B.1 C.0 D.-2 正确答案是: A 2. 语句 String s1=new String("Hello"); String s2=new String

Java程序设计 实验三

北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:郭皓  学号:20135327 成绩:             指导教师:娄嘉鹏      实验日期: 实验密级:         预习程度:             实验时间: 仪器组次:          必修/选修:选修       实验序号:3 实验名称:                敏捷开发与XP实践 实验目的与要求: 完成实验.撰写实验报告,实验报告以

第三次作业——结对编程

备注:蔡潇_031302601.叶志宇_031302628 功能分析: 这次作业第一个要求就是能够实现将Excel文件内容导入数据库,由于上学期进行数据库实践时使用的是Java语言,并且这次作业与数据库也有关系,于是乎我们就想通过Java来实现这个功能.在学习如何将Excel文件导入数据库的过程中我们发现JExcel这个API,这使得我们的Java编程更加轻松,相比与其他的语言. 第二个要求是要实现显示数据库中的数据,我们组的项目是Web端的,我们想,既然第一个要求都已经用Java实现了,第二个

Java笔记二十四.TCP网络编程

 TCP网络编程 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 从上面一节内容可以知道,利用UDP通信的两个程序是平等的,无主次之分,两个程序代码可以完全一样.但利用TCP协议进行通信的两个应用程序,是有主从之分的,一个称为服务器程序,另外一个称为客户机程序.Java中提供了ServerSocket类用于创建服务器端的socket,Socket类用于创建客户端socket. 一.APIs简介 java.net.ServerSocket (1

Java高级特性 第8节 网络编程技术

一.网络概述 1.网络的概念和分类 计算机网络是通过传输介质.通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统.网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输.Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程.下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例. 按照地理覆盖范围,计算机网络可以分为局域网(LAN).城域网(MAN).广域网(WAN). 2

JAVA笔试面试题系列之----②网络编程

1.网络编程概述 (1)网络模型 OSI参考模型 TCP/IP参考模型 (2)网络通讯要素 IP地址 端口号 传输协议 (3)网络通讯前提: **找到对方IP **数据要发送到指定端口.为了标示不同的应用程序,所以给这些网络应用程序都用数字进行标示 .这个表示就叫端口. **定义通信规则.这个规则称为通信协议,国际组织定义了通用协议TCP/IP (4)计算机网络: 是指将地理位置不同的具有独立功能的多台计算机及其外部设备, 通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和

第三模块:网络编程

1.基础知识 现有的软件,绝大多数是基于C/S结构,那么就需要介绍网络编程,毕竟现在的绝大多数数据还是在网络中传输.下面先说明一些网络的基础知识,不过对于从事网络工程的来说只是很简单的基础知识, 1.1 C/S架构 C/S架构中C指的是client(客户端软件),s指的是server(服务器端软件),而本章的主要学习目的是写一个基于C/S架构的软件,客户端软件与服务器端基于网络通信.现在基本的C/S架构基本是下图这样:客户端与服务器基于网络传输互相传输数据. 1.2 OSI的七层协议 了解了C/

Java知多少(104)网络编程之统一资源定位符URL

统一资源定位符URL(Uniform Resource Locator)是www客户机访问Internet时用来标识资源的名字和地址.超文本链路由统一资源定位符URL维持.URL的格式是: <METHOD>://<HOSTNAME:PORT>/<PATH>/<FILE> 其中:Method是传输协议:HOSTNAME是文档和服务器所在的Internet主机名(域名系统中DNS中的点地址);PORT是服务端口号(可省略):PATH是路径名,FILE是文件名.例