package com.lzcc.socket; |
import java.io.BufferedReader; |
import java.io.IOException; |
import java.io.InputStream; |
import java.io.InputStreamReader; |
import java.io.OutputStream; |
import java.io.PrintWriter; |
import java.net.Socket; |
import java.net.UnknownHostException; |
public class Client { |
public static void main(String[] args) { |
try { |
//1.创建socket,指定服务器地址和端口 |
Socket socket = new Socket( "localhost" , 8888 ); |
//2.获取输出流,向服务器端发送信息 |
OutputStream os = socket.getOutputStream(); |
PrintWriter pw = new PrintWriter(os); |
pw.write( "hello nice to meet you " ); |
pw.flush(); |
|
socket.shutdownOutput(); |
//获取输入流,读取服务器端响应的信息 |
|
InputStream is = socket.getInputStream(); |
BufferedReader br = new BufferedReader( new InputStreamReader(is)); |
String info ; |
while ((info = br.readLine())!= null ){ |
|
System.out.println( "我是客户端------服务器说:" +info); |
} |
|
br.close(); |
is.close(); |
pw.close(); |
os.close(); |
socket.close(); |
} catch (UnknownHostException e) { |
e.printStackTrace(); |
} catch (IOException e) { |
e.printStackTrace(); |
} |
|
} |
} |
package com.lzcc.socket; |
import java.io.IOException; |
import java.net.ServerSocket; |
import java.net.Socket; |
public class Server { |
public static void main(String[] args) { |
try { |
ServerSocket serverSocket = new ServerSocket( 8888 ); |
Socket socket= null ; |
//记录客户端数量 |
int count= 0 ; |
|
System.out.println( "服务器启动,等待客户端连接" ); |
//循环侦听客户端请求 |
while ( true ){ |
socket = serverSocket.accept(); |
//创建一个新的线程 |
ServerThread serverThread = new ServerThread(socket); |
//启动线程,执行与客户端的通信 |
serverThread.start(); |
System.out.println( "已连接" ); |
count++; |
System.out.println( "已经连接了" +count+ "个" ); |
|
} |
|
|
|
|
} catch (IOException e) { |
e.printStackTrace(); |
} |
} |
} |