java Socket±à³Ì»ù´¡
×î¼òµ¥µÄ·þÎñÆ÷½ÓÊܵ¥Óû§ÇëÇóµÄsocket±à³ÌÄ£ÐÍ£¬´úÂëдµÃ²»ºÃ£¬Ö»ÊÇÓÃÀ´²ûÃ÷Òâ˼
client side
import java.net.*;
import java.util.*;
import java.io.*;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
Socket clientSocket=new Socket("localhost",9009);//connect
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
Scanner scanner=new Scanner(System.in);
System.out.print("username:");
String username=scanner.next();
System.out.print("password:");
String password=scanner.next();
out.println(username+" "+password);
String input;
while(true)
{
input=in.readLine();
if(input.equals("ok"))
{
System.out.println("message sent, cilent exit");
break;
}
}
in.close();
out.close();
clientSocket.close();
}
catch(Exception e)
{
System.err.println(e.getMessage());
}
}
}
server side
import java.net.*;
import java.io.*;
//import java.util.*;
public class Server {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ServerSocket serverSocket=new ServerSocket(9009);//listen 9008 port
//while(true)
//{
System.out.println("waiting for connecting");
Socket socket=serverSocket.accept();//create a socket to communicate
System.out.println("connected");
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(),true);
String line;
while(true)
{
line = in.readLine();
if(line!=null)
{
break;
}
}
System.out.println("client said:" + line);
out.println("ok");
out.close();
i
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
1¡¢¼¯ºÏÆäʵ¿ÉÒÔ¿´³ÉΪÊý×éµÄÀ©Õ¹£¬ËüÓëÊý×éµÄ²»Í¬Ö®´¦ÔÚÓÚ:
¡¶1¡· Ò»¸öÊý×éÖ»ÔÊÐí´æ´¢Ò»ÖÖÀàÐ͵ÄÊý¾Ý£¬¶øÒ»¸ö¼¯ºÏ¿ÉÒÔ´æ´¢ÈÎÒ»ÖÖ¶ÔÏóÀàÐÍÊý¾Ý£»
¼òµ¥µÄ˵һ¸ö¼¯ºÏÀàËÆÒ»¸ö O ......
SetºÍÊýѧÖеļ¯ºÏÊÇͬһ¸ö¸ÅÄ¾ÍÊÇûÓÐÖØ¸´ÔªËصļ¯ºÏ¡£
ÕâÆªÎÄÕÂÖ÷ÒªÂÛÊöÁËSetÊÇÈçºÎʵÏÖ"ûÓÐÖØ¸´ÔªËØ"£¨no duplicate elements£©µÄ£¬ÒÔ¼°²ûÊöÁËʲôÊÇ“ÖØ¸´”£¨duplicate£©£¬ÊÇÏàͬµÄµØÖ·¿Õ¼ä£¿ÊÇequalsµÄ·µ»ØÖµÎªtrue£¿ÊÇcompareToµÄ·µ»ØÖµÎª0 £¿»¹ÊÇÓÐÏàͬµÄhashCode£¿±¾ÎÄ»¹¸ø³öÁËÔÚʲôÇé¿öÏÂʹÓÃʲà ......
Ê×ÏÈ£¬Ç¿ÁÒÍÆ¼öÄãÏȲο¼Sun¹Ù·½µÄJava´úÂë/±à³Ì¹æ·¶£º
http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
Äã¿ÉÒÔ´òÆÆÒÔÉϵÄÈÎÒ»¹æÔò£¬²»¹ýÒ»¶¨ÒªÓиöºÃÀíÓÉ£¬²¢ÇҼǼÏÂÀ´¡£
ÓÀÔ¶£¬ÓÀÔ¶£¬ÓÀÔ¶²»ÒªÔÚûÓмǼ¶ÑÕ»¸ú×ÙÐÅÏ¢£¨stack trace£©»òÊÇÖØÐÂÅ׳öÒì³£µÄÇé¿öϲ¶»ñÒì³££¬Ë׳Ɠ³ÔµôÒì³£&rd ......
finalÀࣺΪ·ÀÖ¹ËûÈË´ÓÄãµÄÀàÉÏÅÉÉúÐÂÀ࣬´ËÀàÊDz»¿ÉÀ©Õ¹µÄ¡£
¡¡¡¡¶¯Ì¬µ÷ÓñȾ²Ì¬µ÷Óû¨·ÑµÄʱ¼äÒª³¤¡£
¡¡¡¡³éÏóÀࣺ¹æ¶¨Ò»¸ö»ò¶à¸ö³éÏó·½·¨µÄÀà±¾Éí±ØÐ붨ÒåΪabstract¡£
¡¡¡¡Àý£º public abstract string getDescripition
¡¡¡¡JavaÖеÄÿһ¸öÀà¶¼ÊÇ´ÓObjectÀàÀ©Õ¹¶øÀ´µÄ¡£
¡¡¡¡objectÀàÖеÄequalºÍtoString·½· ......