易截截图软件、单文件、免安装、纯绿色、仅160KB

java socket和多线程(Thread)实例

1. socket通信:有客户端和服务端的socket代码。
2.
多线程:客户端和服务端各用一线程发送信息;服务端另有一监听线程,用于把超时的信息删除。
   
这里应用到了同步,使两个线程可以操作同一个map。
代码:(类全在同一个包内)
server端:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Collections;
import java.util.concurrent.TimeUnit;
import java.util.HashMap;
import java.util.Map;
public class ServerNet {
// 以毫秒为单位
private final static long timeLimit = 10000 ;
private Map<String,String> map = Collections.synchronizedMap(new HashMap<String,String>());

public void ServerSocketNet(){
try{
ServerSocket ss = new ServerSocket(6060);
Socket s = ss.accept();
// 用于获取客户端传输来的信息
BufferedReader buff = new BufferedReader(new InputStreamReader(s.getInputStream()));
// 用于获取服务端准备响应的信息
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// 发送服务端准备响应的信息
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
pw.println("您已经成功建立连接!");

new ServerOutNet(pw, in);
new ServerTimeListener(map, timeLimit);

// 显示客户端的传输来的信息
while(true){
String str = buff.readLine();
if(str.equals("exit")){
break;
}else{
map.put(ServerHelper.getInstance().getMapKey(), str);
System.out.println(str + " map.size: " + map.size());

}
System.out.println("To Client:");
Thread.sleep(100);
}
s.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
new ServerNet().ServerSocketNet();
}
}
/**
* server发送线程 向客户端发送响应信息
* @author ids-user
*
*/
class ServerOutNet extends Thread{
pri


相关文档:

Java防止SQL注入

 SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法
用户钻了SQL的空子,下面我们先来看下什么是SQL注入:
          比如在一个登陆界面,要求用户输入用户名和密码:
     & ......

java实现读取XML文件数据插入到数据库中

package com.flxx.docUrl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jd ......

Java常用排序算法


package com.xiaobian;   
  
public class BubbleSort {   
    //冒泡排序   
    public static void bubbleSort(int[] data){   
      &n ......

Java二分法

贴段代码,有少许注释:
package ibees;
import java.util.Arrays;
public class BinarySearch {

/**
* @param args
*/
public static void main(String[] args) {
double[] src = new double[]{1.3,9.9,10.89,12.89,89.0};
System.out.println(new BinarySearch().binarySearch(src, 89.0));
}

......

用java实现cache


在开发项目工程时,经常会遇到保存某些值放到系统的cache中,现用Cache.java和CacheManager.java来管理。具体代码分别如下:
public class Cache {
       
private String key;
       
private Object value;
    &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号