TCP协议:传输控制协议 ,应用于运输层
客户端代码--发送请求:
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class TCPClientDemo {
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
//1.建立TCP连接
String ip="10.105.53.65"; //服务器端ip地址
int port=10002; //端口号
Socket sck=new Socket(ip,port);
//2.传输内容
String content="这是一个java模拟客户端";
byte[] bstream=content.getBytes("GBK"); //转化为字节流
OutputStream os=sck.getOutputStream(); //输出流
os.write(bstream);
//3.关闭连接
sck.close();
}
}
服务器端---接收请求
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServerDemo {
private ServerSocket serverSocket;
private DataInputStream dataInputStream;
public void startServer(){
Socket socket =null;
try {
serverSocket = new ServerSocket(10003);
socket = serverSocket.accept();
dataInputStream = new DataInputStream(socket.getInputStream());
GetMessageFromClient();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(socket!=null){
try{
socket.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
private void GetMessageFromClient(){
try {
//获取消息的长度
int length = dataInputStream.read();
//获取消息
byte[] body = new byte[length];
dataInputStream.read(body);
String message = new String(body);
System.out.println("客户端说:"+message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
TCPServerDemo server = new TCPServerDemo();
server.startServer();
}
}