服务器开发——套接字的创建

网络通信与Socket

  1. 网络通信与Socket

服务器代码

     #include <stdio.h>
     #include <unistd.h>
     #include <sys/types.h>
     #include <sys/socket.h>
     #include <string.h>
     #include <ctype.h>
     #include <arpa/inet.h>
      
      
     #define SERVER_PORT 666

     int main(void)
     {
        int sock;//代表信箱
        struct sockaddr_in server_addr;
        //1.美女创建的邮箱
        sock=socket(AF_INET,SOCK_STREAM,0);
        //2.初始化清空标签,写下地址和端口号
         bzero(&server_addr,sizeof(server_addr));

         server_addr.sin_family=AF_INET;//选择协议族IPV4
         server_addr.sin_addr.s_addr=htonl(INADDR_ANY);//监听本地所有IP地址
         server_addr.sin_port = htons(SERVER_PORT);//绑定端口号
         //实现标签贴到收信的信箱
         bind(sock,(struct sockaddr *)&server_addr, sizeof(server_addr));
         //同一时刻挂起的的数量
         listen(sock,128);

         printf("等待客户端的连接... \n");

         // 接受信件
         int done=1;
         while(done)
         {
           int  client_sock;
           struct sockaddr_in client;
           char client_ip[64];
            
           socklen_t client_addr_len;

           client_addr_len=sizeof(client);
           client_sock =  accept(sock,(struct sockaddr *)&client,&client_addr_len);

           //打印客户端IP地址和端口号
           printf("client ip :%s \t port : %d\n",
           inet_ntop(AF_INET,&client.sin_addr.s_addr,client_ip,sizeof(client_ip)), ntohs(client.sin_port));

           }

           return 0;
         }
  1. Socket 通信模型
*************
  1. 回声服务器
    1.开启服务器
    在这里插入图片描述
  • 在服务器端开启服务器程序(即运行上层的代码)
  • 开启Telnet服务器

输入服务器地址:192.168.203.129 (这里是输入自己Linux服务器的IP地址)

输入端口号:666 (这里输入的是服务器定义的端口号在程序中定义的)

在这里插入图片描述

在windows 使用Telnet客户端命令是在windows端模拟一个客户端链接到Linux的服务器

*********注意 *************

这里如果在Window上没有开启Telnet服务是无法使用 telnet 命令
在这里插入图片描述

这时候需要在windows 的控制面板中选择程序与功能打开windows功能对话框

将Telnet的服务和Telnet的客户端勾选上,并重新启动windows系统即可。

在这里插入图片描述

如果出现如下错误提示
在这里插入图片描述

是由于linux系统不是在root角色下

只需要切换到root角色并重新启动服务器即可。

在这里插入图片描述

现在再次在windows 下创建一个telnet客户端链接服务器

在这里插入图片描述
windows 上开启一个链接服务器的Telnet的客户端窗口

并且在Linux上可以显示链接的客户端的IP地址和端口号
在这里插入图片描述

并且在Linux上可以显示链接的客户端的IP地址和端口号
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值