国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unix Network Programming Episode 73

這篇具有很好參考價值的文章主要介紹了Unix Network Programming Episode 73。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

SCTP One-to-Many-Style Streaming Echo Server: ‘main’ Function
#include "unp.h"

int main(int argc, char **argv)
{
    int sock_fd, msg_flags;
    char readbuf[BUFFSZIE];
    struct sockaddr_in servaddr, clientaddr;
    struct sctp_sndrcvinfo sri;
    struct sctp_event_subscribe events;
    int stream_increment=1;
    socklen_t len;
    size_t rd_sz;

    if(argc==2)
    {
        stream_increment=atoi(argv[1]);
    }

    sock_fd=Socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family=AF_INET;
    servaddr.sin_addr.s_addr=htonl(INVADDR_ANY);
    servaddr.sin_port=htons(SERVA_PORT);

    Bind(sock_fd, (SA *)&servaddr, sizeof(servaddr));

    bzero(&events,sizeof(events));
    events.sctp_data_io_event=1;
    Setsockopt(sock_fd, IPPROTO_SCTP, SCTP_EVENTS, &events, sizeof(events));

    Listen(sock_fd, LISTENQ);
    for(;;)
    {
        len=sizeof(struct sockaddr_in);
        rd_sz=Sctp_recvmsg(sock_fd, readbuf,sizeof(readbuf), (SA *)&clientaddr, &len, &sri, &msg_flags);
        if(stream_increment)
        {
            sri.sinfo_stream++;
            if(sri.sinfo_stream>=sctp_get_no_strms(sock_fd, (SA *)&clientaddr, len))
                sri.sinfo_stream=0;
        }
        Sctp_sendmsg(sock_fd, readbuf, rd_sz, (SA*)&clientadr, len, sri.sinfo_ppid,
            sri.sinfo_flags, sri.sinfo_stream,0,0);
    }
}

SCTP streaming echo server

SCTP One-to-Many-Style Streaming Echo Client: ‘main’ Function
#include "unp.h"

int main(int argc, char **argv)
{
    int sock_fd;
    struct sockaddr_in servaddr;
    struct sctp_event_subscribe events;
    int echo_to_all=0;
    if(argc<2)
        err_quit("Missing host argument - use '%s host [echo] '\n", argv[0]);
    if(argc>2)
    {
        printf("Echoing messages to all streams\n");
    }
    sock_fd=Socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP);
    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_family=AF_INET;
    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
    servaddr.sin_port=htons(SERV_PORT);
    Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
    bzero(&events, sizeof(events));
    Setsockopt(sock_fd, IPPROTO_SCTP, SCTP_EVENTS, &events, sizeof(events));
    if(echo_to_all==0)
        sctpstr_client(stdin,sock_fd, (SA *)&servaddr, sizeof(servaddr));
    else
        sctpstr_client_echoall(stdin, sock_fd, (SA *)&servaddr, sizeof(servaddr));

    Close(socke_fd);
    return 0;
}

SCTP streaming echo client main

SCTP Streaming Echo Client: ‘str_cli’ Function
#include "unp.h"

void sctpstr_client(FILE *fp, int sock_fd, struct sockaddr *to, socklen_t tolen)
{
    struct sockaddr_int peeraddr;
    struct sctp_sndrcvinfo sri;
    char sendline[MAXLINE], recvlien[MAXLINE];
    socklen_t len;
    int out_sz, rd_sz;
    int msg_flags;

    bzero(&sri,sizeof(sri));
    while(fgets(sendline, MAXLINE, fp)!=NULL)
    {
        if(sendline[0]!=' [')
        {
            printf("Error, line must be of the form '[streamnum] text'\n");
            continue;
        }
        sri.sinfo_stream=strtol(&sendline[1],NULL,0);
        out_sz=strlen(sendline);
        Sctp_sendmsg(sock_fd, sendline, out_sz, to, tolen, 0, 0, sri.sinfo_stream,0,0);
        len=sizeof(peeraddr);
        rd_sz=Sctp_recvmsg(sock_fd, recvline,sizeof(recvline), (SA *)&peeraddr, &len, sri, &msg_flags);
        printf("From str:%s seq:%d (assoc: 0x%x):"sri.sinfo_stream,sri.sinfo_ssn,(u_int)sri.sinfo_assoc_id);
        printf("%.*s",rd_sz, recvline);
    }
}

SCTP sctp_strcli function文章來源地址http://www.zghlxwxcb.cn/news/detail-531309.html

到了這里,關(guān)于Unix Network Programming Episode 73的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Unix Network Programming Episode 76

    We encourage the use of getaddrinfo (Section 11.6(See 8.9.6)) in new programs. The non-null pointer returned by this function points to the following hostent structure: gethostbyname differs from the other socket functions that we have described in that it does not set errno when an error occurs. Instead, it sets the global integer h_errno to one of the foll

    2024年02月09日
    瀏覽(19)
  • unix網(wǎng)絡(luò)編程-簡易服務(wù)器與客戶端程序解析

    a -- address f -- file? ? ? ? eg: fputs() -- file put stream fd -- file descriptor h - host(主機(jī)) in/inet -- internet? ? ? ? eg: sockaddr_in; inet_aton n -- network(網(wǎng)絡(luò)字節(jié)序)/numeric(數(shù)值) p -- protocol(協(xié)議)/presentation(表達(dá)/呈現(xiàn)形式) s -- socket? ? ? ? eg: sin -- socket internet t -- type,用于指定某種

    2024年01月16日
    瀏覽(30)
  • UNIX網(wǎng)絡(luò)編程卷一 學(xué)習(xí)筆記 第三十章 客戶/服務(wù)器程序設(shè)計范式

    UNIX網(wǎng)絡(luò)編程卷一 學(xué)習(xí)筆記 第三十章 客戶/服務(wù)器程序設(shè)計范式

    開發(fā)一個Unix服務(wù)器程序時,我們本書做過的進(jìn)程控制: 1.迭代服務(wù)器(iterative server),它的適用情形極為有限,因為這樣的服務(wù)器在完成對當(dāng)前客戶的服務(wù)前無法處理已等待服務(wù)的新客戶。 2.并發(fā)服務(wù)器(concurrent server),為每個客戶調(diào)用fork派生一個子進(jìn)程。傳統(tǒng)上大多U

    2024年02月09日
    瀏覽(25)
  • 【Socket】Unix環(huán)境下搭建簡易本地時間獲取服務(wù)

    本文搭建一個Unix環(huán)境下的、局域網(wǎng)內(nèi)的、簡易的本地時間獲取服務(wù)。 主要用于驗證: 當(dāng)TCP連接成功后,可以在兩個線程中分別進(jìn)行讀操作、寫操作動作 當(dāng)客戶端自行終止連接后,服務(wù)端會在寫操作時收到 SIGPIPE 信號 當(dāng)客戶端執(zhí)行shutdown寫操作后,客戶端會在寫操作時收到

    2024年02月04日
    瀏覽(21)
  • MobaXterm連接服務(wù)器:Network error: Connection refused

    centos7: ubuntu20.04

    2024年02月16日
    瀏覽(17)
  • 【Hello Network】DNS協(xié)議 NAT技術(shù) 代理服務(wù)器

    【Hello Network】DNS協(xié)議 NAT技術(shù) 代理服務(wù)器

    本篇博客簡介:介紹DNS協(xié)議 NAT技術(shù)和代理服務(wù)器 DNS是一整套從域名映射到IP的系統(tǒng) 為什么要有域名 其實作為我們程序員來說 使用域名還是IP地址是無所謂的 但是站在商業(yè)公司和用戶的角度就不這么認(rèn)為了 商業(yè)公司希望用戶能夠快速的記住自己公司的網(wǎng)址 而用戶也希望自己

    2024年02月11日
    瀏覽(17)
  • MobaXterm監(jiān)控服務(wù)器的資源(CPU、RAM、Network、disk...) 使用情況

    MobaXterm監(jiān)控服務(wù)器的資源(CPU、RAM、Network、disk...) 使用情況

    使用服務(wù)器的時候比較喜歡隨時查看的服務(wù)器資源使用情況,比如內(nèi)存,CPU,網(wǎng)速,磁盤使用等情況,一次偶然的機(jī)會發(fā)現(xiàn)了MobaXterm提供有這項功能,在會話窗口底部: 完整窗口示意圖 如果你發(fā)現(xiàn)你的會話窗口底部沒有,可以這樣開啟: Settings→SSH→勾選Remote-monitoring 參考

    2024年02月14日
    瀏覽(123)
  • mobaxterm無法連接vmware虛擬機(jī)服務(wù)器,network error:connection refused

    場景描述: 電腦硬盤換了,重新安裝vmware,ubuntu,mobaxterm..... 安裝完ubuntu后,因為習(xí)慣了無UI的界面,所以關(guān)閉了ubuntu的桌面服務(wù) (有需要的同學(xué)可以通過sudo systemctl set-default multi-user.target,然后sudo reboot就可以關(guān)閉桌面服務(wù)了,打開命令是sudo 6systemctl set-default graphical.targe

    2024年02月14日
    瀏覽(22)
  • /etc/netplan/network-manager-all.yaml 配置服務(wù)器ip

    本文為博主原創(chuàng),轉(zhuǎn)載請注明出處: /etc/netplan 是用于配置 Ubuntu 系統(tǒng)網(wǎng)絡(luò)接口的目錄。在 Ubuntu 中,網(wǎng)絡(luò)配置的默認(rèn)工具為?? Netplan ,而 /etc/netplan 則是 Netplan 配置文件的存儲位置。 在 /etc/netplan 目錄中,通常會有一個或多個 YAML 格式的文件,用來定義系統(tǒng)中的網(wǎng)絡(luò)接口、

    2024年02月07日
    瀏覽(12)
  • Putty連接服務(wù)器后彈出Network error: Software caused connection abort

    Putty連接服務(wù)器后彈出Network error: Software caused connection abort

    天行健,君子以自強不息;地勢坤,君子以厚德載物。 每個人都有惰性,但不斷學(xué)習(xí)是好好生活的根本,共勉! 文章均為學(xué)習(xí)整理筆記,分享記錄為主,如有錯誤請指正,共同學(xué)習(xí)進(jìn)步。 在使用putty連接服務(wù)器時,連接成功后過一會彈出如下錯誤 字面意思大概是 網(wǎng)絡(luò)錯誤:

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包