欢迎来到天天文库
浏览记录
ID:15262362
大小:122.00 KB
页数:5页
时间:2018-08-02
《学习socket必看的发送接收经典案例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Socket经典的接受-----发送文件案例1,说明本文基于VS2005开发平台,VC++语言,控制台console程序。经本机测试,能够通过。2,socket说明:其实就是微软的API。里面有很多函数供大家使用。其实大家很多时候都比较模糊,API是什么东东。我在这里,向大家简单说下我的理解,很简单就是程序员做了很多类,类里面有很多方法,俗称组件。放在服务器上,然后开发出一个接口,供大家使用。大家可以基于这个接口,开发很多程序。就这么简单,呵呵,可能我表述的不是很准确,还请大家多多包涵。不用多说,直接上案例。3,socket发送的目的地址方式为:IP+port方式。如111.11.111.
2、11:224,本案例有两个文件,一个是客户端程序(client.cs);一个是服务器端程序(server.cs)。客户端程序代码usingSystem;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Text;namespacetcpclient{//////Class1的摘要说明。///classclient{//////应用程序的主入口点。///[STAThread]staticvoidMain(string[]args){////TODO:在此处添加代码
3、以启动应用程序//byte[]data=newbyte[1024];Socketnewclient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);Console.Write("pleaseinputtheserverip:");stringipadd=Console.ReadLine();Console.WriteLine();Console.Write("pleaseinputtheserverport:");intport=Convert.ToInt32(Console.ReadLine
4、());IPEndPointie=newIPEndPoint(IPAddress.Parse(ipadd),port);//服务器的IP和端口try{//因为客户端只是用来向特定的服务器发送信息,所以不需要绑定本机的IP和端口。不需要监听。newclient.Connect(ie);}catch(SocketExceptione){Console.WriteLine("unabletoconnecttoserver");Console.WriteLine(e.ToString());return;}intrecv=newclient.Receive(data);stringstringda
5、ta=Encoding.ASCII.GetString(data,0,recv);Console.WriteLine(stringdata);while(true){stringinput=Console.ReadLine();if(input=="exit")break;newclient.Send(Encoding.ASCII.GetBytes(input));data=newbyte[1024];recv=newclient.Receive(data);stringdata=Encoding.ASCII.GetString(data,0,recv);Console.WriteLine
6、(stringdata);}Console.WriteLine("disconnectfromsercer");newclient.Shutdown(SocketShutdown.Both);newclient.Close();}}}服务器端程序usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;namespaceSOCKET{classProgram{staticvoidMain(string[]args){intrecv;byte[]da
7、ta=newbyte[1024];IPEndPointipep=newIPEndPoint(IPAddress.Any,9050);Socketnewsock=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);newsock.Bind(ipep);newsock.Listen(10);Console.WriteLine("wa
此文档下载收益归作者所有