TCP/UDP通讯

来源:互联网 发布:淘宝违规支付宝冻结 编辑:程序博客网 时间:2024/05/16 17:33

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# code//"开始"按钮事件   private void button1_Click(object sender, System.EventArgs e) {   //取得预保存的文件名   string fileName=textBox3.Text.Trim();   //远程主机   string hostName=textBox1.Text.Trim();   //端口   int port=Int32.Parse(textBox2.Text.Trim());   //得到主机信息   IPHostEntry ipInfo=Dns.GetHostByName(hostName);   //取得IPAddress[]

原创粉丝点击