BIO+多线程实现TCP简单示例
服务端
package test001;
import java. io. IOException;
import java. net. ServerSocket;
import java. net. Socket;
public class Server {
public static void main ( String[ ] args) throws IOException {
ServerSocket serverSocket = new ServerSocket ( 8848 ) ;
byte [ ] b = new byte [ 1024 ] ;
while ( true ) {
System. out. println ( "wait conn" ) ;
Socket accept = serverSocket. accept ( ) ;
new Thread ( ( ) - > {
System. out. println ( "conn succ, wait data" ) ;
int read = 0 ;
try {
read = accept. getInputStream ( ) . read ( b) ;
} catch ( IOException e) {
e. printStackTrace ( ) ;
}
System. out. println ( "data rece" ) ;
System. out. println ( new String ( b, 0 , read) ) ;
} ) . start ( ) ;
}
}
}
客户端
package test001;
import java. io. IOException;
import java. net. Socket;
import java. util. Scanner;
public class Client {
public static void main ( String[ ] args) throws IOException {
Socket socket = new Socket ( "192.168.4.24" , 8848 ) ;
Scanner sc = new Scanner ( System. in) ;
String i = sc. next ( ) ;
socket. getOutputStream ( ) . write ( i. getBytes ( ) ) ;
socket. close ( ) ;
}
}