• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 74, 文章 - 0, 評論 - 26, 引用 - 0
            數(shù)據(jù)加載中……

            udp 小用

            client:
            #include "Winsock2.h"
            #include "stdafx.h"
            #pragma comment(lib,"Ws2.lib")
            // TODO: 在 STDAFX.H 中
            // 引用任何所需的附加頭文件,而不是在此文件中引用
            void SOCKETRACE(char *buf,int len)
            {
                WSADATA wsadata;
                WSAStartup(MAKEWORD(2,0),&wsadata);
                struct sockaddr_in ipaddr;
                ipaddr.sin_family=AF_INET;
                ipaddr.sin_port=htons(11000);
                ipaddr.sin_addr.s_addr=inet_addr("169.254.2.2");

                int  sk=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
                int c=connect(sk,(sockaddr*)&ipaddr,sizeof(ipaddr));
                send(sk,buf,len,0);
                closesocket(sk);
                WSACleanup();
            }


            void OEMTRACEW(BOOL cond, LPCWSTR fmt, ...)
            {
                if(cond)
                {

                    int n, size = 100;
                    wchar_t* p ;
                    va_list ap ;

                    p = (wchar_t*)malloc(size * sizeof(wchar_t)) ;

                    while( 1 )
                    {
                        /* Try to print in the allocated space. */
                        va_start( ap, fmt ) ;
                        n = _vsnwprintf( p, size, fmt, ap ) ;
                        va_end( ap ) ;
                        /* If that worked, return the string. */
                        if( n > -1 && n < size )
                            break ;

                        /* Else try again with more space. */
                        if( n > -1 )   /* C99 conform vsnprintf() */
                            size = n+1 ; /* precisely what is needed */
                        else          /* glibc 2.0 */
                            size *= 2 ;  /* twice the old size */

                        p = (wchar_t*)realloc( p, size * sizeof(wchar_t) ) ;
                    }
                   
                    char nstring[200]={0};
                    wcstombs( nstring,p,200);
                    free( p ) ;
                    SOCKETRACE(nstring,strlen(nstring));

                }

            }


            void OEMTRACE(BOOL cond, const char * fmt, ...)
            {
                if(cond)
                {

                    int n, size = 100;
                    char* p ;
                    va_list ap ;

                    p = (char*)malloc(size) ;

                    while( 1 )
                    {
                        /* Try to print in the allocated space. */
                        va_start( ap, fmt ) ;
                        n = _vsnprintf( p, size, fmt, ap ) ;
                        va_end( ap ) ;
                        /* If that worked, return the string. */
                        if( n > -1 && n < size )
                            break ;

                        /* Else try again with more space. */
                        if( n > -1 )   /* C99 conform vsnprintf() */
                            size = n+1 ; /* precisely what is needed */
                        else          /* glibc 2.0 */
                            size *= 2 ;  /* twice the old size */

                        p = (char*)realloc( p, size ) ;
                    }

                   
                   
                    SOCKETRACE(p,strlen(p));
                    free( p ) ;

                }

            }
            client c#:
            udpClient = new UdpClient();
            Byte[] bytes = Encoding.Unicode.GetBytes("aa");
                        udpClient.Send(bytes, bytes.Length,new IPEndPoint(IPAddress.Parse("169.254.2.2"), 11000));
            udpserver c#:
            using System;
            using System.Collections.Generic;
            using System.Text;
            using System.Net.Sockets;
            using System.Net;

            namespace ScocketRec
            {
                class Program
                {
                    static void Main(string[] args)
                    {
                        UdpClient udpClient = new UdpClient(new IPEndPoint(IPAddress.Parse("169.254.2.2"), 11000));
                        try
                        {
                          
                            //IPEndPoint object will allow us to read datagrams sent from any source.
                            IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Parse("169.254.2.1"), 11000);
                            while(true)
                            {
                                // Blocks until a message returns on this socket from a remote host.
                                Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
                              
                                string returnData = Encoding.ASCII.GetString(receiveBytes);

                                // Uses the IPEndPoint object to determine which of these two hosts responded.
                                Console.WriteLine("This is the message you received " +
                                                             returnData.ToString());
                                Console.WriteLine("This message was sent from " +
                                                            RemoteIpEndPoint.Address.ToString() +
                                                            " on their port number " +
                                                            RemoteIpEndPoint.Port.ToString());
                            }

                           

                            udpClient.Close();
                           

                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.ToString());
                        }

                    }
                }
            }




            posted on 2007-11-28 13:46 井泉 閱讀(320) 評論(0)  編輯 收藏 引用 所屬分類:

            三级片免费观看久久| 国内精品伊人久久久久av一坑| 久久国产精品久久| 国产精品丝袜久久久久久不卡| 美女久久久久久| 久久久久亚洲AV片无码下载蜜桃 | 欧美激情精品久久久久久| 伊色综合久久之综合久久| 久久99热只有频精品8| 国产精品无码久久综合网| 久久精品免费一区二区| 亚洲欧美日韩精品久久| 伊人久久大香线焦AV综合影院| 国产精品久久久久久| 午夜精品久久久久久| 青青青青久久精品国产| 99久久国产宗和精品1上映| 国产综合成人久久大片91| 久久er99热精品一区二区| 尹人香蕉久久99天天拍| 国产AV影片久久久久久| 俺来也俺去啦久久综合网| 久久SE精品一区二区| 久久午夜福利电影| 国内精品久久久久国产盗摄| 国产亚洲精品自在久久| 亚洲精品国产美女久久久| 亚洲国产成人精品无码久久久久久综合| 久久精品一本到99热免费| 久久中文字幕人妻熟av女| 久久午夜综合久久| 一本久道久久综合狠狠躁AV| 久久免费大片| 狠狠色丁香婷婷久久综合五月| 久久AAAA片一区二区| 久久久精品久久久久久| 久久精品亚洲乱码伦伦中文| 精品国产乱码久久久久久浪潮| 一级做a爱片久久毛片| 久久精品国产精品亚洲人人 | 国产综合成人久久大片91|