1.网络编程概念
利用套接字来达到进程间的通信
客户端代码
public class TcpClientDome1 {
//客户端
public static void main(String[] args) {
Socket socket=null;
OutputStream outputStream =null;
try {
InetAddress localhost = InetAddress.getByName("127.0.0.1");
int port=900;
try {
socket = new Socket(localhost, port);
outputStream = socket.getOutputStream();
outputStream.write("你好".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
} catch (UnknownHostException e) {
e.printStackTrace();
}finally {
if(socket !=null){
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(outputStream != null){
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
服务端代码
public class TcpServerDome1 {
//服务端
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket accept = null;
InputStream inputStream = null;
ByteOutputStream byteOutputStream = null;
try {
//1.我得有个地址
serverSocket = new ServerSocket(900);
//2.等待客户端连接过来
accept = serverSocket.accept();
//3.读取客户端的消息
inputStream = accept.getInputStream();
//4.管道流
byteOutputStream = new ByteOutputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) != -1) {
byteOutputStream.write(bytes, 0, len);
}
System.out.println(byteOutputStream.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
if(byteOutputStream!=null){
try {
byteOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if(inputStream !=null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(accept !=null){
try {
accept.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(serverSocket!=null){
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}