【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
相关文档:
听起来,有自信,有搞笑。又自信,又搞笑。
两年前,考入了一个二流大学,非计算机专业。当初怀着无比美好的心情,只是希望在学校过的快乐些,学的好些,但是有些事情总是难以预料,我总是无法忘却那份怀念,在这个陌生的城市,我总是迷失了自己。默默的躲在自己的世界里舔舐伤口,原以为到了个新的环境能忘掉一切的伤心故 ......
注意,请不要被我误导,我没有看其他资料,这是我自己分析的,有些可能是不对的
"DestroyJavaVM" prio=6 tid=0x00316800 nid=0x448 waiting on condition [0x00000000
..0x00a0fd4c]
java.lang.Thread.State: RUNNABLE
"Thread-1" prio=6 tid=0x02f85000 nid=0xd18 waiting for m ......
1.1 面向对象的基本概念
面向对象的基本思想
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行
程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发 ......
时间过的真快,不知不觉来到传智播客已经一个多月了,这一个月主要学习了Java基础部分,虽然每天都是敲代码到晚上1、2点才睡觉,但是还是感觉时间不够用,因为需要学习巩固的东西太多太多了,总感觉掌握的不够好,这一个月过的很累但也很充实。
这几天开始 ......
1.内存分配方式
内存分配方式有三种:
[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于 ......