TCP
编程SERVER
端和CLIENT
端分别的步骤:
服务器端SERVER
- 创建一个
ServerSocket
对象,并在指定端口进行监听 - 服务器端等待连接,使用
accpt()
方法获取一个连接,返回一个Socket
对象 - 通过
socket
对象获取一个getInputSream
输入流或getOutputSream
输出流 - 关闭流需要关闭服务器和
socket
和 输入输出 流,后开的先关
客户端Client
- 创建一个
Socket
对象,传入一个InetAddress
对象和端口号 - 通过
socket
对象获取一个getInputSream
输入流或getOutputSream
输出流 - 关闭流输入输出和
socket
服务器端
package com.haikang.inte_.socket_;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author: 海康
* @version: 1.0
*/
@SuppressWarnings("all")
public class Server1 {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(9999);
System.out.println("服务器在9999端口监听:");
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
BufferedInputStream bis = new BufferedInputStream(inputStream);
byte[] bytes = new byte[1024*8];
int length = 0;
while ((length=bis.read(bytes))!=-1){
System.out.println(new String(bytes,0,length));
}
OutputStream outputStream = accept.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(outputStream);
bos.write("您好客户端".getBytes());
bos.flush();
accept.shutdownOutput();
//关闭流
if(accept != null)
accept.close();
if(serverSocket != null)
serverSocket.close();
}
}
客户端
package com.haikang.inte_.socket_;
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* @author: 海康
* @version: 1.0
*/
@SuppressWarnings("all")
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),9999);
System.out.println("服务器端请求连接在9999端口:");
OutputStream ops = socket.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(ops);
bos.write("您好服务器".getBytes());
bos.flush();
socket.shutdownOutput();
InputStream inputStream = socket.getInputStream();
BufferedInputStream bis = new BufferedInputStream(inputStream);
byte[] bytes = new byte[1024 * 8];
int length = 0;
while ((length=bis.read(bytes))!=-1){
System.out.println(new String(bytes,0,length));
}
if(socket != null)
socket.close();
}
}