【Java网络编程一】一个简单的c/s程序
实验要求:
1.编写基于TCP协议的通信程序,包括Server与Client两个部分。实现回声程序:即客户端发送消息,服务器端将收到的消息原样会送给客户端。
2.在单机上运行它们,验证其通信结果;
3.在多机上运行它们,验证其通信结果;(ChatServer只需运行在一台主机上,ChatClient可在其它主机上运行(要知道ChatServer所在主机的IP地址)。
4.提示:服务器端回送消息时,可以进行加工,例如给每个收到的消息加上“服务器回送”+原始消息+服务器端收到消息的时间;
5.客户端可以从4字节数据开始发送,逐渐增大数据量,观察从少量数据的发送到大量数据的发送,时间性能的变化,记录每次发送数据所需时间,利用excel制作曲线图(该部分实验可选)
源码:
服务器端:
package tcpipchapter3;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class server {
/**
* @param args
*/
//设置端口号\
public static int portNo=3333;
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//初始化serverSocket类
ServerSocket s=new ServerSocket(portNo);
System.out.println("The Server is starting...");
//建立socket连接(阻塞,直到有客户端连接)
Socket socket=s.accept();
//接收数据
try{
//构造输入流缓存
BufferedReader bufReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
String time=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date());
while(true){
//按行读取输入内容
String strLine=bufReader.readLine();
//如果收到byebye则退出循环
if(strLine.equals("byebye")){
break;
}
&n
相关文档:
import java.io.*;
public class TestMusic{
private AudioFormat format;
private byte[] samples;
public static void main(String args[])throws Exception{
TestMusic sound =new TestMusic("1.wav");
InputStream stream =new ByteArrayInputStre ......
三道JAVA基础题
题目(1)
class A {
public int i = 10;
}
class B extends A{
public int i = 20;
}
public class Test{
public static void main(String&nbs ......
1.1 面向对象的基本概念
面向对象的基本思想
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行
程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发 ......
Design Patterns in Java
-----------------------------------------
Steven John Metsker
William C.Wake
-----------------------------------------
龚波等译
--------一、二章读书记录------
模式是集体智慧的结晶。它给出了相关行业中经验丰富的从业者所应用的所有的概念和方 ......
1.内存分配方式
内存分配方式有三种:
[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于 ......