最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)簡單回聲服務器

 更新時間:2022年03月02日 09:10:28   作者:reg183  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單回聲服務器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)簡單的回聲服務器,供大家參考,具體內容如下

新建echo_server.c

#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;

? ? sock=socket(AF_INET,SOCK_STREAM,0);

? ? bzero(&server_addr,sizeof(server_addr));

? ? server_addr.sin_family=AF_INET;
? ? server_addr.sin_addr.s_addr=htonl(INADDR_ANY);

? ? 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){
? ? ? ? struct sockaddr_in client;
? ? ? ? int client_sock;
? ? ? ? char client_ip[64];
? ? ? ? socklen_t client_addr_len;
? ? ? ? client_addr_len=sizeof(client);
? ? ? ? accept(sock,(struct sockaddr *)&client,&client_addr_len);
? ? ? ? printf("client ip:%s\n port :%d\n",
? ? ? ? ? ? ? ? inet_ntop(AF_INET,&client.sin_addr.s_addr,client_ip,sizeof(client_ip)),
? ? ? ? ? ? ? ? ntohs(client.sin_port));
? ? }
}

打包生成可執(zhí)行文件

[root@localhost c++]# gcc echo_server.c ?-o echo_server.exe

啟動服務器

[root@localhost c++]# ./echo_server.exe?
等待客戶端的連接..

telnet訪問

[root@localhost ~]# telnet 127.0.0.1 666
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

服務器端打印

[root@localhost c++]# ./echo_server.exe?
等待客戶端的連接..
client ip:127.0.0.1
?port :36156

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用remalloc的注意事項說明(必看篇)

    使用remalloc的注意事項說明(必看篇)

    下面小編就為大家?guī)硪黄褂胷emalloc的注意事項說明(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 淺談C++指針(必看)

    淺談C++指針(必看)

    下面小編就為大家?guī)硪黄獪\談C++指針(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 利用Qt實現(xiàn)可擴展對話框的示例代碼

    利用Qt實現(xiàn)可擴展對話框的示例代碼

    可擴展對話框通常用于用戶對界面有不同要求的場合。當供高級用戶使用或需要更多信息時,可通過某種方式的切換顯示完整對話窗體(擴展窗體)。本文將用Qt實現(xiàn)可擴展對話框,需要的可以參考一下
    2022-06-06
  • 深入解讀C++ 內聯(lián)函數(shù)inline|nullptr

    深入解讀C++ 內聯(lián)函數(shù)inline|nullptr

    內聯(lián)函數(shù):用** inline 修飾的函數(shù)叫做內聯(lián)函數(shù),編譯時C++編譯器會在調用的地方展開內聯(lián)函數(shù)**,這樣調用內聯(lián)函數(shù)就需要創(chuàng)建棧楨,就提高效率了,這篇文章給大家介紹C++ 內聯(lián)函數(shù)inline|nullptr的相關知識,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • C語言詳細分析講解struct與union使用方法

    C語言詳細分析講解struct與union使用方法

    最近開始自學C語言,從最基礎部分的開始學起。今天看書的時候注意到了struct和union似乎很像,除了名字不同,看起來幾乎沒有區(qū)別。<BR>既然C中定義了struct和union兩個關鍵字,那么它們肯定是有區(qū)別的,在查了一些資料之后我來總結一下他們的使用
    2022-04-04
  • C++程序的執(zhí)行順序結構以及關系和邏輯運算符講解

    C++程序的執(zhí)行順序結構以及關系和邏輯運算符講解

    這篇文章主要介紹了C++程序的執(zhí)行順序結構以及關系和邏輯運算符講解,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C++11新特性std::tuple的使用方法

    C++11新特性std::tuple的使用方法

    這篇文章主要介紹了C++11新特性-std::tuple的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • C語言 數(shù)據(jù)結構之鏈表實現(xiàn)代碼

    C語言 數(shù)據(jù)結構之鏈表實現(xiàn)代碼

    這篇文章主要介紹了C語言 數(shù)據(jù)結構之鏈表實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2016-10-10
  • C++使用函數(shù)的一些高級操作指南

    C++使用函數(shù)的一些高級操作指南

    C++中函數(shù)調用的方法與C語言并無區(qū)別,依舊是在調用方函數(shù)中執(zhí)行函數(shù)調用語句來實現(xiàn)函數(shù)調用,下面這篇文章主要給大家介紹了關于C++使用函數(shù)的一些高級操作,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • C語言遞歸實現(xiàn)線索二叉樹

    C語言遞歸實現(xiàn)線索二叉樹

    這篇文章主要介紹了C語言遞歸實現(xiàn)線索二叉樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論

荆州市| 和政县| 安远县| 平利县| 大港区| 阿坝| 武夷山市| 特克斯县| 景泰县| 麦盖提县| 镇安县| 闵行区| 阿坝县| 阿拉善左旗| 清徐县| 体育| 涿州市| 沧州市| 南安市| 馆陶县| 宝兴县| 明光市| 蕲春县| 永吉县| 安龙县| 红桥区| 新宁县| 张家港市| 临西县| 曲阜市| 锡林郭勒盟| 汽车| 黎平县| 乌拉特后旗| 建湖县| 禄丰县| 芜湖县| 邓州市| 定西市| 依兰县| 武城县|