java中TCP的基本步骤
package Net;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class TestTCPServer {
public static void main(String[] args) throws Exception {
//1.指定端口 使用ServerSocket创建服务器
ServerSocket server = new ServerSocket(8888);
//2.阻塞式等待连接accept
Socket client = server.accept();
//3.操作输入输出流
DataInputStream data = new DataInputStream(client.getInputStream());
String s = data.readUTF();
String[] s1 = s.split("&");
for(String s2:s1) {
String[] s3 = s2.split("=");
if(s3[0].equals(“uname”)) {
System.out.println(“你的用户名为”+ s3[1]);
}
else if(s3[0].equals(“upassword”)) {
System.out.println(“你的密码为”+ s3[1]);
}
}
//4.关闭资源
data.close();
client.close();
server.close();
}
}
package Net;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;
public class TestTCPClient {
public static void main(String[] args) throws Exception{
BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入你的用户名");
String uname = b.readLine();
System.out.println("请输入你的密码");
String upassword = b.readLine();
//1.建立连接:使用Socket创建客户端+服务器的端口和地址
Socket client = new Socket("localhost",8888);
//2.操作输入输出流
DataOutputStream data = new DataOutputStream(client.getOutputStream());
data.writeUTF("uname" + "=" + uname + "&" + "upassword" + "=" + upassword);
data.flush();
//3.释放资源
data.close();
client.close();
}
}