最简单的实现TCP通信,利用Socket和ServerSocket套接字

今天刚刚接触到TCP网络通信,下面就从最简单的程序写起,了解它的基本概念后再继续深入写后面的程序

简单程序:

首先我们要创建一个服务器的文件,代码如下:

public class SverSocket {

	public static void main(String[] args) {
		try {
			ServerSocket ss=new ServerSocket(9990);
			System.out.println("服务器套接字创建成功");
			System.out.println("服务器等待连接。。。");
			Socket s=ss.accept();
			System.out.println("与客户端连接成功");
			s.close();
			ss.close();
		} catch (IOException e) {}
		
	}

}
在打印“服务器等待连接 。。”后服务器会一直停在Socket s=ss.accept();等待客户端的连接

再创建个客户端的文件,代码如下:

public class CliSocket {

	public static void main(String[] args) {
		try {
			Socket s=new Socket("192.168.0.106", 9990);
			s.close();
		} catch (Exception e) {}
		
	}
}

打印结果:是将服务器的那几句话都打印出来

最简单的实现TCP通信,利用Socket和ServerSocket套接字_第1张图片最简单的实现TCP通信,利用Socket和ServerSocket套接字_第2张图片

接下来就是要用到数据流:

服务器程序:

public class SerSocket {
	static ServerSocket ss=null;
	static Socket s=null;
	static String str=null;
	static DataInputStream in=null;
	static DataOutputStream out=null;
	public static void main(String[] args) {
		try {
			ss=new ServerSocket(6666);//实例化套接字对象
			System.out.println("实例化服务套接字成功");
			System.out.println("等待客户端里连接。。。。");
			s=ss.accept();
			in=new DataInputStream(s.getInputStream());
			out=new DataOutputStream(s.getOutputStream());
			//进入循环
			while(true){
				str=in.readUTF();//读取客户放入连接中
				out.writeUTF(str);
				System.out.println("服务器收到"+str);
				try {
					Thread.sleep(1000);//线程休眠1秒
				} catch (InterruptedException e) {}
				in.close();
				out.close();
				s.close();
				ss.close();
			}		
		} catch (IOException e) {}
	}
}
客户端程序代码:

public class CliSocket {
	static String str=null;
	static Socket s;
	static DataOutputStream out=null;
	static DataInputStream in=null;

	public static void main(String[] args) {
		try {
			s=new Socket("192.168.0.106", 6666);
			in=new DataInputStream(s.getInputStream());
			out=new DataOutputStream(s.getOutputStream());
			out.writeUTF("我是客户端");
			while(true){
				str=in.readUTF();
				out.writeUTF(str);
				System.out.println("客户端收到"+str);
				try {
					Thread.sleep(1000);
				} catch (InterruptedException e) {}
				in.close();
				out.close();
				s.close();
			}
		} catch (IOException e) {}
	}
}
运行结果:

最简单的实现TCP通信,利用Socket和ServerSocket套接字_第3张图片最简单的实现TCP通信,利用Socket和ServerSocket套接字_第4张图片

基础的就到这,笔者刚学有不足之处还希望大家多多留言,一起讨论。


你可能感兴趣的:(最简单的实现TCP通信,利用Socket和ServerSocket套接字)