通信之最简代码

       通信,用一种高大上的方法解释,那是服务器与客户端之间的通信,或是客户端与客户端之间的互联,其实说白了 ,就是两个程序通过某种渠道在发送信息。

        在实现通信之前,我们首先要清楚通信的流程。当一台机器要与另一台机器连接时,ip地址就是它们各自的标识,以便于被发现或连接。在连接到某机器之后,还需要找到希望连接程序的端口号,这样才能准确的连接到某一个程序进行通信。[注]:端口号要在0~65535之间。

        我们先写一个最简单的通信程序,让命令行充当客户端,那就只需要写一个可接受和发送消息的服务器了。这时需要思考的是服务器如何工作:首先要有一个服务器对象,让一个Socket对象等待客户端连接,连接后获取输入输出流,然后就可以用输出流来发送消息给客户端,用输入流读取客户端发来的消息,这样简单的通信就完成了,最后只要关闭连接即可。

//创建一个绑定在指定端口上的服务器对象
ServerSocket ss = new ServerSocket(port);
System.out.println("服务器连接成功"+port);
//让对象进入等待状态
Socket client = ss.accept();
//从连接上获取输入输出流
OutputStream out = client.getOutputStream();
InputStream ins = client.getInputStream();
		
String s = "hello!";
//获取该字符串的字节
byte[] b = s.getBytes();
String src = new String(b);
System.out.println("生成的字符串是"+src);
//用输出对象发送
out.write(b);
//强制输出
out.flush();
	
int in=0;
while(in!=13){
	in=ins.read();
	System.out.println("读到的是"+in);	
}
System.out.println("已退出"+in);
//关闭连接
client.close();

         当然,这样的代码会报错,试想,如果连接过程中突然断网,那不属于我们可控范围内,所以要用try,catch解决这个异常。

        这时我们需要做的就是打开命令提示符,输入telnet  localhost  端口号,localhost代表的就是本机的ip地址,telnet命令使我们的计算机充当客户机去连接我们写的服务器,这样就实现了最基本的通信。 

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值