TCP网络程序设计是指利用Socket类编写通信程序。
分为客户端与服务端
TCP采用“三次握手”进行运行
客户端:
Socket socket = new Socket(IInetAddress address,int prot);
1:实例化Socket套接字
2:通过Socket对象调用输出/输入流并返回一个输出/输入流对象
3. 若是输出,则用输出对象.write()方法进行输出
需要注意的是write中的参数必须是byte数组形式,如果有其他格式则需要.getBytes()
4. 最后以由后到前的顺序关闭所有流;Scanner 也是一种流,所以同样需要关闭。补充Scanner录入的代码:Scanner scanner = new Scanner(System.in);scanner.next();
服务端:
ServerSocket serversocket = new ServerSocket(int prot);
Socket s = serversocket.accept();
1:实例化ServerSocket(服务器套接字).accept()用于等待网络上的“请求”。
2:实例化输入/输出返回值为一个Socket套接字的实例。
3. 运用输入流的read(byte [] b)方法读取输入的内容,
read()方法:
从输入流中读取数据的下一个字节。返回 0
到 255
范围内的 int
字节值。如果因为已经到达流末尾而没有可用的字 ,则返回值 -1
。在输入数据可用、检测到流末尾或者抛出异常前,此方法一直阻塞。
子类必须提供此方法的一个实现。
int len;
while((len = is.read(b)) != -1){
String str = new String(b,0,len);
System.out.print(str);
}
ps:1:循环获取下一个字节,当返回值为-1时(字节已经读完)停止循环,并将读取的完整数据输出。
2:必须用主语句try/catch捕捉异常