• <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
            數據加載中……

            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 井泉 閱讀(332) 評論(0)  編輯 收藏 引用 所屬分類:

            久久99精品久久久久久噜噜| 国产精自产拍久久久久久蜜| 精品久久久久久成人AV| 久久久久免费精品国产| 久久精品国产男包| 亚洲国产二区三区久久| 午夜人妻久久久久久久久| 精品久久久久久久中文字幕| 久久久久亚洲精品天堂| 久久久精品日本一区二区三区 | 久久这里都是精品| 久久er热视频在这里精品| 久久久久久精品免费看SSS| 色综合久久中文色婷婷| 欧美午夜精品久久久久免费视| 99久久国产主播综合精品| 久久婷婷五月综合97色一本一本| 亚洲国产成人精品无码久久久久久综合| 久久久久久久97| 久久AV无码精品人妻糸列| 国产精品久久久久久久久软件| yellow中文字幕久久网| 精品综合久久久久久97超人 | 国内精品人妻无码久久久影院| 欧美国产精品久久高清| 国产午夜精品久久久久九九| 99久久99这里只有免费的精品| 久久狠狠爱亚洲综合影院| 欧美精品九九99久久在观看| 亚州日韩精品专区久久久| 94久久国产乱子伦精品免费| 99热成人精品免费久久| 国产真实乱对白精彩久久| 伊人久久大香线蕉综合热线| 97久久久精品综合88久久| 久久精品九九亚洲精品| 少妇人妻88久久中文字幕| 久久精品国产亚洲AV麻豆网站| 精品久久久久久中文字幕人妻最新| 精品综合久久久久久97| 久久精品国产亚洲av影院|