package com.socket.net.tcp;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Service {
public static void main(String[] args) {
ServerSocket server = null;
try {
server = new ServerSocket(1234);
System.out.println("服务器开始接收。。。");
while(true){
Socket socket = server.accept();
new SocketThread(socket).start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.socket.net.tcp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
public class SocketThread extends Thread {
private Socket socket;
public SocketThread(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
InputStream is = null;
InputStreamReader isr = null;
BufferedReader reader = null;
try {
InetAddress address = socket.getInetAddress();
System.out.println("客户端:" + address.getHostAddress()+ ",说");
is = socket.getInputStream();
isr = new InputStreamReader(is);
reader = new BufferedReader(isr);
String str = reader.readLine();
if(str != null){
System.out.println(str);
str = reader.readLine();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
socket.shutdownInput();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(reader != null){
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(isr != null){
try {
isr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(is != null){
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(socket != null){
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
package com.socket.net.tcp;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 1234);
OutputStream os = socket.getOutputStream();
PrintWriter writer = new PrintWriter(os);
writer.write("用户名:jjs,密码:123");
writer.flush();
socket.shutdownOutput();
writer.close();
os.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}