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
Ïà¹ØÎĵµ£º
·´ÉäµÄ¸ÅÄîÊÇÓÉSmithÔÚ1982ÄêÊ×´ÎÌá³öµÄ£¬Ö÷ÒªÊÇÖ¸³ÌÐò¿ÉÒÔ·ÃÎÊ¡¢¼ì²âºÍÐÞ¸ÄËü±¾Éí״̬»òÐÐΪµÄÒ»ÖÖÄÜÁ¦¡£ÕâÒ»¸ÅÄîµÄÌá³öºÜ¿ìÒý·¢Á˼ÆËã»ú¿ÆÑ§ÁìÓò¹ØÓÚÓ¦Ó÷´ÉäÐÔµÄÑо¿¡£ËüÊ×Ïȱ»³ÌÐòÓïÑÔµÄÉè¼ÆÁìÓòËù²ÉÓÃ,²¢ÔÚLispºÍÃæÏò¶ÔÏó·½ÃæÈ¡µÃÁ˳ɼ¨¡£ÆäÖÐLEAD/LEAD++ ¡¢OpenC++ ¡¢MetaXaºÍOpenJavaµÈ¾ÍÊÇ»ùÓÚ·´Éä»úÖÆµÄÓïÑÔ¡£×î½ü ......
½ñÌìÎÒÔÚ×ö·É»ú¡£ÎªÊ²Ã´ËµÎÒÔÚ×ö·É»úÄØ£¡ÒòΪÕâÊÇÎÒ½ø´«ÖDz¥¿ÍÒÔÀ´£¬¸öÈ˸оõ·Ç³£ÖØÒªµÄÒ»ÌÿΣ¬µ«ÊÇÎÒ²»ÄÜÒ»ÏÂ×Ó¼ÇסËùËùÓеĶ«Î÷£¬×òÌìÍíÉÏ£¬¿´ÊÓÆµ¿´µ½ÍíÉÏÈýµã£¬½ñÌìÉϿκÜÏ뼯ÖÐ×¢ÒâÁ¦£¬µ«ÊÇ×îÖÕ»¹ÊÇÈ̲»×¡´òÁËî§Ë¯£¬µ«½ñÌìµÄµÄ¿Î¸øÎҵĸоõÊǷdz£¾ßÓÐÁ¬¹áÐÔ£¬Ç°ÃæµÄ¿ÎÈç¹ûÌýµÃ²»ÊǺÜÇ ......
1. ÑéÖ¤Âë(2)
dsnaValidateCode.jar
dsnaValidateCode_src.rar
ValidateCode.java ÑéÖ¤ÂëÉú³ÉÀà
Java´úÂë
package cn.dsna.util.images;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;   ......
Java ÓïÑÔÊÇÒ»ÖÖ¾ßÓж¯Ì¬ÐԵĽâÊÍÐͱà³ÌÓïÑÔ£¬µ±Ö¸¶¨³ÌÐòÔËÐеÄʱºò£¬ Java ÐéÄâ»ú¾Í½«±àÒëÉú³ÉµÄ . class Îļþ°´ÕÕÐèÇóºÍÒ»¶¨µÄ¹æÔò¼ÓÔØ½øÄڴ棬²¢×éÖ¯³ÉΪһ¸öÍêÕûµÄ Java Ó¦ÓóÌÐò¡£ Java ÓïÑÔ°Ñÿ¸öµ¥¶ÀµÄÀà Class ºÍ½Ó¿Ú Implements ±àÒë³Éµ¥¶ÀµÄÒ»¸ö . class Îļþ£¬ÕâЩÎļþ¶ÔÓÚ Java ÔËÐл·¾³À´Ëµ¾ÍÊÇÒ»¸ö¸ö¿ÉÒÔ¶¯Ì¬ ......
***´ËÌâÒÔ¿¼²ì»ù´¡Îª×¼,±±¾©µÄ±ÊÊÔÌâ,¿ÉÄÜÓÐÈË×ö¹ý
Ìâ:дһ¸ö³ÌÐò£¬½âÎöÈçϸñʽµÄ×Ö·û´®£¬²¢½«½âÎöµÄÊý×ÖÐòÁдòÓ¡³öÀ´¡£
×Ö·û´®¸ñʽ¾ÙÀý£º -1~2, 3~3, 5~10, 7~15x3
~ ´ú±íÊý×ֵķ¶Î§£¬ -1~2 ´ú±í´Ó-1¿ªÊ¼µ½2Ö®¼äµÄËùÓÐÊý×Ö¡£ 3~3 ´ú±í´Ó3¿ªÊ¼µ½3µÄËùÓÐÊý×Ö£¬Ò²¾ÍÊÇ3
7~15x3´ú ......