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

            久久久久亚洲AV无码去区首| 无码人妻久久一区二区三区| 久久久综合九色合综国产| 国产精品久久久久AV福利动漫| 久久精品一区二区国产| 一本综合久久国产二区| 久久精品99久久香蕉国产色戒| 狠狠色综合久久久久尤物| 久久精品国产久精国产一老狼| 粉嫩小泬无遮挡久久久久久| 免费精品久久久久久中文字幕| 99精品国产在热久久无毒不卡 | 伊人色综合久久天天| 久久久久免费视频| 91久久精品视频| 国产日产久久高清欧美一区| yy6080久久| 国产综合免费精品久久久| 久久精品一区二区| 97超级碰碰碰久久久久| 囯产极品美女高潮无套久久久| 久久AAAA片一区二区| 免费观看久久精彩视频| 久久66热人妻偷产精品9| 国色天香久久久久久久小说| 久久综合九色综合欧美就去吻| 99热热久久这里只有精品68| 久久精品中文騷妇女内射| 久久久久久九九99精品| 性欧美大战久久久久久久久 | 国内精品人妻无码久久久影院| 国产精品成人久久久| 国产成人精品三上悠亚久久| 色妞色综合久久夜夜| 亚洲av成人无码久久精品| 99久久夜色精品国产网站| 综合网日日天干夜夜久久| 久久香综合精品久久伊人| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久久久久久亚洲Av无码| 国内精品久久久久伊人av|