• <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)  編輯 收藏 引用 所屬分類:

            大香伊人久久精品一区二区| 亚洲狠狠婷婷综合久久久久| 亚洲成色www久久网站夜月| 少妇人妻综合久久中文字幕| 精品久久久久久无码专区不卡| 国产一区二区三精品久久久无广告 | 亚洲午夜久久久久妓女影院 | 久久国产免费直播| 色8久久人人97超碰香蕉987| 国产免费福利体检区久久| 久久久久久久久久久精品尤物| 久久久青草久久久青草| 亚洲精品无码久久久久去q| 88久久精品无码一区二区毛片| 久久精品午夜一区二区福利| 亚洲中文字幕无码久久精品1| 久久伊人精品青青草原高清| 偷窥少妇久久久久久久久| 国产ww久久久久久久久久| 色综合久久无码五十路人妻| 亚洲国产成人精品无码久久久久久综合| 精品久久久久久久中文字幕 | 国产偷久久久精品专区| 开心久久婷婷综合中文字幕| 亚洲一区二区三区日本久久九| 狠狠综合久久综合88亚洲| 免费一级做a爰片久久毛片潮| 天天爽天天爽天天片a久久网| 亚洲国产精品高清久久久| 亚洲精品乱码久久久久久不卡| 国产精品一区二区久久精品无码| 国产成人久久精品激情| 久久99国产综合精品| 久久不见久久见免费视频7| 久久久精品人妻一区二区三区四| 久久妇女高潮几次MBA| 无码日韩人妻精品久久蜜桃| 性欧美丰满熟妇XXXX性久久久| 亚洲中文久久精品无码| 久久精品国产亚洲AV影院| 蜜臀久久99精品久久久久久小说 |