载入中
自定义HTML载入中... loading
UDP的(c#) [转贴 2008-06-23 19:03:47]  删除... 
字体变小 字体变大

namespace UDPServer
{
   
class Program
    {
       
static void Main(string[] args)
        {
           
int recv;
           
byte[] data = new byte[1024];

           
//构建TCP 服务器

           
//得到本机IP,设置TCP端口号        
            IPEndPoint ipep = new IPEndPoint(IPAddress.Any , 8001);
            Socket newsock
= new Socket(AddressFamily.InterNetwork, SocketType.Dgram , ProtocolType.Udp);

           
//绑定网络地址
            newsock.Bind(ipep);

            Console.WriteLine(
"This is a Server, host name is {0}",Dns.GetHostName());

           
//等待客户机连接
            Console.WriteLine("Waiting for a client...");

           
//得到客户机IP
            IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
            EndPoint Remote
= (EndPoint)(sender);
            recv
= newsock.ReceiveFrom(data, ref Remote);
            Console .WriteLine (
"Message received from {0}: ", Remote.ToString ());
            Console .WriteLine (Encoding .ASCII .GetString (data ,
0,recv ));

           
//客户机连接成功后,发送欢迎信息
            string welcome = "Welcome ! ";

           
//字符串与字节数组相互转换
            data  = Encoding .ASCII .GetBytes (welcome );

           
//发送信息
            newsock .SendTo (data ,data.Length ,SocketFlags .None ,Remote );
           
while (true )
            {
                data
=new byte [1024];
               
//发送接受信息
                recv =newsock.ReceiveFrom(data ,ref Remote);
                Console .WriteLine (Encoding .ASCII .GetString (data ,
0,recv));
                newsock .SendTo (data ,recv ,SocketFlags .None ,Remote );
            }
        }

        }
    }

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace UDPClient
{
   
class Program
    {
       
static void Main(string[] args)
        {
           
byte[] data = new byte[1024];
           
string input ,stringData;

           
//构建TCP 服务器

            Console.WriteLine(
"This is a Client, host name is {0}", Dns.GetHostName()); //设置服务IP,设置TCP端口号
            IPEndPoint ipep = new IPEndPoint(IPAddress .Parse ("127.0.0.1") , 8001);

           
//定义网络类型,数据连接类型和网络协议UDP
            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

           
string welcome = "Hello! ";
            data
= Encoding.ASCII.GetBytes(welcome);
            server.SendTo(data, data.Length, SocketFlags.None, ipep);
            IPEndPoint sender
= new IPEndPoint(IPAddress.Any, 0);
            EndPoint Remote
= (EndPoint)sender;

            data
= new byte[1024];
           
int recv = server.ReceiveFrom(data, ref Remote);
            Console.WriteLine(
"Message received from {0}: ", Remote.ToString());
            Console.WriteLine(Encoding .ASCII .GetString (data,
0,recv));
           
while (true)
            {
                input
= Console .ReadLine ();
               
if (input =="exit")
                   
break ;
                server .SendTo (Encoding .ASCII .GetBytes (input ),Remote );
                data
= new byte [1024];
                recv
= server.ReceiveFrom(data, ref Remote);
                stringData
= Encoding.ASCII.GetString(data, 0, recv);
                Console.WriteLine(stringData);
            }
            Console .WriteLine (
"Stopping Client.");
            server .Close ();           
        }

        }
    }


分类: C#
所属版块: 科技
票数:
什么是“我顶”?
点击数:    评论数:
本文章引用通告地址(TrackBack Ping URL)为:
本文章尚未被引用。
发表评论
大 名:
(不填写则显示为匿名者)
网 址:
(您的网址,可以不填)
标 题:
内 容:
请根据下图中的字符输入验证码:
(您的评论将有可能审核后才能发表)
和讯个人门户 v1.0 | 和讯部落 | 客服中心