最简单的实现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) {}
		
	}
}

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


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

服务器程序:

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) {}
	}
}
运行结果:


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


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值