<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## sendto ## 經socket傳送數據 ### 相關函數 ### send , sendmsg,recv , recvfrom , socket ### 表頭文件 ### ``` #include <sys/types.h> #include <sys/socket.h> ``` ### 定義函數 ### ``` int sendto(int s, const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen); ``` ### 函數說明 ### sendto() 用來將數據由指定的socket傳給對方主機。參數s為已建好連線的socket,如果利用UDP協議則不需經過連線操作。參數msg指向欲連線的數據內容,參數flags 一般設0,詳細描述請參考send()。參數to用來指定欲傳送的網絡地址,結構sockaddr請參考bind()。參數tolen為sockaddr的結果長度。 ### 返回值 ### 成功則返回實際傳送出去的字符數,失敗返回-1,錯誤原因存于errno 中。 ### 錯誤代碼 ### EBADF 參數s非法的socket處理代碼。 EFAULT 參數中有一指針指向無法存取的內存空間。 WNOTSOCK canshu s為一文件描述詞,非socket。 EINTR 被信號所中斷。 EAGAIN 此動作會令進程阻斷,但參數s的soket為補課阻斷的。 ENOBUFS 系統的緩沖內存不足。 EINVAL 傳給系統調用的參數不正確。 ### 范例 ### ``` #include <sys/types.h> #include <sys/socket.h> #include <netinet.in.h> #include <arpa.inet.h> #define PORT 2345 /*使用的port*/ main(){ int sockfd,len; struct sockaddr_in addr; char buffer[256]; /*建立socket*/ if(sockfd=socket (AF_INET,SOCK_DGRAM,0))<0){ perror (“socket”); exit(1); } /*填寫sockaddr_in 結構*/ bzero ( &addr, sizeof(addr) ); addr.sin_family=AF_INET; addr.sin_port=htons(PORT); addr.sin_addr=hton1(INADDR_ANY) ; if (bind(sockfd, &addr, sizeof(addr))<0){ perror(“connect”); exit(1); } while(1){ bezro(buffer,sizeof(buffer)); len = recvfrom(socket,buffer,sizeof(buffer), 0 , &addr &addr_len); /*顯示client端的網絡地址*/ printf(“receive from %s\n “ , inet_ntoa( addr.sin_addr)); /*將字串返回給client端*/ sendto(sockfd,buffer,len,0,&addr,addr_len);” } } ``` ### 執行 ### 請參考recvfrom()
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看