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

            久久夜色精品国产| 精品国产一区二区三区久久蜜臀| 一本久久精品一区二区| 久久久久亚洲AV无码专区首JN| 亚洲精品无码久久久| 精品精品国产自在久久高清| 久久精品国产色蜜蜜麻豆| 久久婷婷五月综合色奶水99啪| 久久99精品久久久久久野外| 人妻久久久一区二区三区| 久久亚洲中文字幕精品一区四| 无码人妻久久一区二区三区免费| 国内精品久久久久久久涩爱| 色欲综合久久躁天天躁蜜桃 | 久久久久无码精品| 无码人妻久久久一区二区三区 | 久久久亚洲AV波多野结衣| 日韩精品久久久久久| 久久精品国产亚洲精品2020| 久久久久久久综合日本| 亚洲国产精品久久久久久| 久久精品人人做人人爽97| 伊人久久综合成人网| 国产精品久久久久久五月尺| 国产成人精品久久亚洲| 久久精品国产精品青草| 久久久久亚洲AV无码专区体验| 久久无码专区国产精品发布| 久久精品夜色噜噜亚洲A∨| 色综合色天天久久婷婷基地| 久久精品人人做人人妻人人玩| 久久天天躁狠狠躁夜夜2020一| 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产成人99久久亚洲综合精品| 精品综合久久久久久888蜜芽| 久久久久亚洲av成人网人人软件 | 久久精品国产一区二区| 久久AⅤ人妻少妇嫩草影院| 国产精品狼人久久久久影院| 国产成人精品久久一区二区三区av| 色成年激情久久综合|