63 网络编程(四)——TCP编程
TCP编程
TCP编程是面向连接的数据传输,所以需要时用IO流来建立连接。
用户输出流到服务器,服务器输入流接收数据。
服务器输出流到用户,用户输入流接收。
基本流程
服务器端
- 创建服务器端:ServerScoekt 对象
- 阻塞时监听用户接入:accep() 返回Socket对象
- 建立连接:与返回的Socket对象建立IO流,getInputStream()方法与getOutputStream方法
- 处理数据
- 关闭流,关闭Socket对象,关闭服务器(一般不关服务器)
用户端
- 创建Socket对象:Socket(targetHost,targetPort)
- 建立连接:创建输出流
- 传输数据:输入流写
- 关闭流
- 关闭Socket对象
基础版本示例
服务器端
package _20191218;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
* 通过tcp传输数据的服务端,实现的是服务器端
* @author TEDU
*
*/
public class TCPServer {
public static void main(String[] args) throws IOException {
System.out.println("-----server------");
//建立服务器
ServerSocket server = new ServerSocket(6677);
//阻塞式接收Socket
Socket client = server.accept();
//建立连接
DataInputStream dis = new DataInputStream(client.getInputStream());//选择需要的合适的流,不需要如本文的流
//接收数据并处理
Object obj1 = dis.readUTF();
Object obj2 = dis.readInt();
Object obj3 = dis.readFloat();
System.out.println(obj1);
System.out.println(obj2);
System.out.println(obj3);
//关闭流及服务器
dis.close();
client.close();
//server.close()//服务器无需关闭
}
}用户端
package _20191218;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class TCPClient {
public static void main(String[] args) throws UnknownHostException, IOException {
System.out.println("-----client------");
//新建客户端Socket
Socket client = new Socket("localhost",6677);
//建立连接
DataOutputStream dos = new DataOutputStream(client.getOutputStream());
//发送数据
String str = "fuck";
dos.writeUTF(str);
dos.writeInt(89);
dos.writeFloat(213.4f);
//关闭流和连接
dos.close();
client.close();
}
}测试结果

模拟登陆服务器
相关推荐
diediexiaomi 2020-04-21
houjinkai 2020-06-03
简单的快乐 2020-05-09
zkwgpp 2020-05-04
CloudXli 2020-04-20
Noseparte 2020-03-26
x青年欢乐多 2020-03-02
yang0cs 2020-07-04
MichelinMessi 2020-06-13
Vampor 2020-05-03
huangzonggui 2020-05-01
lenchio 2020-03-27
zhangwentaohh 2020-03-08
huangzonggui 2020-01-30