Java编写一个简单的“服务器—客户端”聊天程序(Tcp版本)

一.服务器和客户端

1.客户端

当我们打开百度,输入我们想要查找的某个关键词,之后点击百度一下,我们就收到了一个有着各种链接的网页。

这个过程,作为我们,就是客户端。

2.服务器

我们即发送了信息,也接收了信息。而对于百度网站来说,就像是服务器端,即接收了信息,也发送了信息。

综上,服务器和客户端是一个相对的概念。客户端先发送消息,再收到回复。服务器端先收到消息,然后在发送消息。

二.TCP协议

1.传输层协议
2.有链接
3.可靠协议
4.面向字节流

注意:
可靠协议:消息发送方发送完消息后,一定要确保对方收到消息

不可靠协议:消息发送方只管发消息,不需要知道对方有没有收到消息

三.如何编写“服务器-客户端”聊天程序

              把问题抽象一下,就是如何交互
客户端如何发送信息,如何接收信息。
服务器端如何接收信息,如何发送信息。

1.我们从实现服务器开始。Java提供了这样的一个类,ServerSocket。我们通过实例化它的方式来创建一个服务器。注意一下,创建服务器需要一个参数port,port指的是端口号。我们知道一台计算机上运行着许多程序,那么,对于另一台计算机来说,它想要连接到这台计算机的这个程序,该如何做呢?首先当然是根据IP连接到这台计算机,那么,然后呢?就是通过我们的port端口号了。正常情况下,计算机会自动我们创建的程序分配一个port,但是,因为我们创建的是提供给别的计算机连接的服务器,所以我们需要指定一个端口号供给外部计算机来进行连接。注意一下,计算机有的端口号已经被其他程序占用了,要想查看,你可以通过在cmd命令行输入netstat -an来查询。在这里,我们给定我们的端口号为空闲的1234。

2.客户端的创建与服务器的创建差不多,只是要注意一下内容上的匹配。

四.程序代码

1.服务器

package tcp.http1;
/*
    这个客户端服务器实现了简单的聊天功能,客户端和服务器可以互相发送任意多条消息
    客户端:......
    服务器:......
    客户端:......
    服务器:......
 */
import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/*
    创建服务器套接字用ServerSocket
    创建客户端套接字用Socket
 */
public class Server {
   
    public static void main(String[] args) throws IOException {
   
        //1.创建绑定到指定端口的服务器套接字
        ServerSocket tcpServerSocket=new ServerSocket(1234
  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值