【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
相关文档:
三道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 ......
更改oracle Listener 配置:D:\Oracle\moon\product\11.1.0\db_1\NETWORK\ADMIN 目录之下:Listener.ora文件进行配置:
# listener.ora Network Configuration File: d:\Oracle\moon\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SI ......
一、什么是反射:
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、Open ......
除 八个基本类型(Long ,short,int ,float,double,char,byte,boolean)外,其他的数据类型都被称为“引用类型”,也即:Object。Object的操作全是通过对象的引用(Object references),引用可以理解为指针,容易让人对应到C++的传址上面去。所以,大家要注意喽!java里面虽说没指针,其实却不然。 ......
因为项目要求,制作的一个多文件上传,并显示进度条一段代码(vs2005环境)。
(只为粗略的实现,代码并不规范)
当多个文件上传的时候,需要依次队列形式一个个上传,当上传某个文件的时候,锁定进程,上传完毕再开启锁。
在主类中的上传按钮事件代码:
//
获取openFileDialog控件选择的文件名数组(openFileDialog可 ......