欢迎来到天天文库
浏览记录
ID:11500702
大小:46.50 KB
页数:0页
时间:2018-07-12
《tcp和udp编程习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.使用TCP协议编写服务器端和客户端的控制台程序,要求在连接成功后首先由服务器端向客户端发送欢迎标语,然后由客户端连续发送5条具体的信息,再由服务器端发送5条具体的信息,最后实现在服务器端和客户端之间的同步通信,其中通信的信息要能支持中文。服务器端代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;namespaceVarTcpClient{classVarTcpClient{pr
2、ivatestaticintSendData(Sockets,byte[]data){inttotal=0;intsize=data.Length;intdataleft=size;intsent;byte[]datasize=newbyte[4];datasize=BitConverter.GetBytes(size);sent=s.Send(datasize);while(total3、ft-=sent;}returntotal;}privatestaticbyte[]ReceiveData(Sockets){inttotal=0;byte[]datasize=newbyte[4];intrecv;recv=s.Receive(datasize,0,4,SocketFlags.None);intsize=BitConverter.ToInt32(datasize,0);intdataleft=size;byte[]data=newbyte[size];while(total4、data,total,dataleft,SocketFlags.None);if(recv==0){data=Encoding.ASCII.GetBytes("BYE");break;}total+=recv;dataleft-=recv;}returndata;}staticvoidMain(string[]args){byte[]data=newbyte[1024];byte[]data1=newbyte[1024];byte[]data2=newbyte[1024];intsent;IPEndPointiep=newIPEndP5、oint(IPAddress.Parse("127.0.0.1"),9050);Socketclient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{client.Connect(iep);}catch(SocketExceptione){Console.WriteLine("连接失败.");Console.WriteLine(e.ToString());return;}data=ReceiveData(client);str6、ingwelcome=Encoding.ASCII.GetString(data);Console.WriteLine(welcome);stringmessage01="Thisisthefirsttest.";stringmessage02="a";stringmessage03="Thisstringisaevenlongertest.Thisstringisaevenlongertest.Thisstringisaevenlongertest.";stringmessage04="ashorttest.";stringmess7、age05="Thisisastory.";sent=SendData(client,Encoding.ASCII.GetBytes(message01));sent=SendData(client,Encoding.ASCII.GetBytes(message02));sent=SendData(client,Encoding.ASCII.GetBytes(message03));sent=SendData(client,Encoding.ASCII.GetBytes(message04));sent=SendData(client8、,Encoding.ASCII.GetBytes(message05));while(true){stringinput=Console.ReadLine();if(input.ToString().ToUpper()=
3、ft-=sent;}returntotal;}privatestaticbyte[]ReceiveData(Sockets){inttotal=0;byte[]datasize=newbyte[4];intrecv;recv=s.Receive(datasize,0,4,SocketFlags.None);intsize=BitConverter.ToInt32(datasize,0);intdataleft=size;byte[]data=newbyte[size];while(total4、data,total,dataleft,SocketFlags.None);if(recv==0){data=Encoding.ASCII.GetBytes("BYE");break;}total+=recv;dataleft-=recv;}returndata;}staticvoidMain(string[]args){byte[]data=newbyte[1024];byte[]data1=newbyte[1024];byte[]data2=newbyte[1024];intsent;IPEndPointiep=newIPEndP5、oint(IPAddress.Parse("127.0.0.1"),9050);Socketclient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{client.Connect(iep);}catch(SocketExceptione){Console.WriteLine("连接失败.");Console.WriteLine(e.ToString());return;}data=ReceiveData(client);str6、ingwelcome=Encoding.ASCII.GetString(data);Console.WriteLine(welcome);stringmessage01="Thisisthefirsttest.";stringmessage02="a";stringmessage03="Thisstringisaevenlongertest.Thisstringisaevenlongertest.Thisstringisaevenlongertest.";stringmessage04="ashorttest.";stringmess7、age05="Thisisastory.";sent=SendData(client,Encoding.ASCII.GetBytes(message01));sent=SendData(client,Encoding.ASCII.GetBytes(message02));sent=SendData(client,Encoding.ASCII.GetBytes(message03));sent=SendData(client,Encoding.ASCII.GetBytes(message04));sent=SendData(client8、,Encoding.ASCII.GetBytes(message05));while(true){stringinput=Console.ReadLine();if(input.ToString().ToUpper()=
4、data,total,dataleft,SocketFlags.None);if(recv==0){data=Encoding.ASCII.GetBytes("BYE");break;}total+=recv;dataleft-=recv;}returndata;}staticvoidMain(string[]args){byte[]data=newbyte[1024];byte[]data1=newbyte[1024];byte[]data2=newbyte[1024];intsent;IPEndPointiep=newIPEndP
5、oint(IPAddress.Parse("127.0.0.1"),9050);Socketclient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{client.Connect(iep);}catch(SocketExceptione){Console.WriteLine("连接失败.");Console.WriteLine(e.ToString());return;}data=ReceiveData(client);str
6、ingwelcome=Encoding.ASCII.GetString(data);Console.WriteLine(welcome);stringmessage01="Thisisthefirsttest.";stringmessage02="a";stringmessage03="Thisstringisaevenlongertest.Thisstringisaevenlongertest.Thisstringisaevenlongertest.";stringmessage04="ashorttest.";stringmess
7、age05="Thisisastory.";sent=SendData(client,Encoding.ASCII.GetBytes(message01));sent=SendData(client,Encoding.ASCII.GetBytes(message02));sent=SendData(client,Encoding.ASCII.GetBytes(message03));sent=SendData(client,Encoding.ASCII.GetBytes(message04));sent=SendData(client
8、,Encoding.ASCII.GetBytes(message05));while(true){stringinput=Console.ReadLine();if(input.ToString().ToUpper()=
此文档下载收益归作者所有