一般服务器端代码,每次收到一个线程,一个client就会产生:
J7 ]4 V8 e1 k; ^) {; m3 `! t /************************ 开始监听 **************************/8 V; v7 Y) O" w2 M
int port = 4311;
4 M: F8 O. K V _ S* V7 q ServerSocket server = null;//服务器6 g: M7 Y& a7 H( W% B
Socket client = null;//客户端
9 [ P) R6 J- v9 f7 c$ G5 {% ^ try {
& A( j1 R. R! ?9 J& W m: w server = new ServerSocket(port);& {) w( m' U, P% R& a
} catch (IndirectionException e1) {# U K E+ t1 \2 p: v
System.out.println("正在监听...");0 M- l+ [0 c! j" w% S: W
}
' x% A- q5 W' M# f& k while(true)
+ w- p% T" x% K7 a( I+ D' a& s8 t {
1 F9 z/ o1 [* q& t System.out.println("等待客户"+i);6 {$ Z8 t2 f* ?1 P- [
i++;
! |# f0 o [9 H: ?1 H% W) H$ q0 l( [ try {7 g8 j/ @0 V. l+ n/ B2 e
client = server.accept();//开始监听线程,接收到client9 z$ X# Y: z4 @5 l6 L
System.out.println("客户地址:" + client.getInetAddress());; J% `/ G- ~% j/ R) @: X) M1 x
} catch (IOException e1) {8 m, {8 q* _& C" f# K a
System.out.println("正在等待客户");1 m% U7 F! @2 u8 p1 j
}
5 l8 T5 f4 ?1 E }
9 ^& H: Z! m8 L j$ u' X) Z1 ?/ i9 \
5 t& w5 y3 N: F) ]% b 客户端代码,启动之后便会连接服务器,得到回应之后便会形成socket连接
$ U. u/ o! Q( k* S4 D3 ]
1 Y7 N: V) @- r+ q; k! A Socket clientsocket = null;( |* U) k! k) `& v' Z* f; g* X7 N
try {0 ]5 Y( T/ `* l3 E
clientsocket = new Socket("localhost",4311);
2 ^3 O1 A4 b* g7 Y2 c8 W% h- ] } catch (UnknownHostException e) {
# {* G+ B* Z9 _! }) ~ // TODO Auto-generated catch block. A3 Y3 c) i$ q! O! A2 E3 A d
e.printStackTrace();# p$ Z# a; |, D& w4 B" w
} catch (IOException e) {4 _% ^% l4 A/ \6 d2 E: d
// TODO Auto-generated catch block# z v# {2 l$ s2 Q) U
e.printStackTrace();2 t/ A7 P, b2 ], Y
} |