帮忙啊,C#TcpListener应用

我不会C#的网络编程,我想把我写的五子棋游戏改编为局域网版的,2人对战,但是完全摸不到头脑,所以现在摸索关于TcpListener和Tcpclient的应用我想先分开写,... 我不会C#的网络编程,我想把我写的五子棋游戏改编为局域网版的,2人对战,但是完全摸不到头脑,所以现在摸索关于TcpListener和Tcpclient的应用 我想先分开写, 先服务器端侦听,客户端连接, 然后客户端在textbox里面输入字符,传送到服务器这边,服务器端的textbox显示客户端发送的字符 由于我现在一抹黑,完全不知道怎样写,请高手帮帮忙,告诉我用哪些类和方法等,或者告诉我主要代码,谢谢 展开
 我来答
招雅秋9494
2014-07-02 · 超过60用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:143万
展开全部
using System.Net.Sockets; //命名空间 客户端用到的 TcpClient netClient1; NetworkStream netStream; StreamReader sr; StreamWriter sw; int port=8080; //端口号 try { netClient1 = new TcpClient();//创建对象 netClient1.Connect("192.168.0.1", port); //请求连接服务器 netStream = netClient1.GetStream();//传输数据流 sr = new StreamReader(netStream); sw = new StreamWriter(netStream); } catch(Exception e) { MessageBox.Show(e.Message); } 下面是用于发信息的一种方式 void sendMessage() { try { string sendstring = textBox.Text; MessageBox.Show("sendbuffer:" + sendstring); sw.WriteLine(sendstring); //向流写入数据 sw.Flush(); //刷新流 } catch (Exception e) { MessageBox.Show(e.Message); } } 收信息通常用到循环语句 void receiveMessage() { while (true) { try { string receive = sr.ReadLine(); //收数据 if (!receive.Equals("")) { MessageBox.Show(receive); this.setRichText(receive); receive = ""; } } catch (Exception ee) { MessageBox.Show(ee.StackTrace); } } } 服务器 IPAddress localAddress; //本地IP地址变量声明 int port=51888; TcpListener myListener; IPAddress[] addrIP=Dns.GetHostAddresses(Dns.GetHostName()); localAddress=addrIP[0];//获取值 myListener=new TcpListener(localAddress,port); myListener.Start();//开始运行 TcpClient newClient=myListener.AcceptTcpClient();//监听客户端的连接请求,并返回一个用于收发信息的对象 NetworkStream newStream=client.GetStream(); sr=new StreamReader(newStream);//用于读取信息 sw=new StreamWriter(newStream);//用于收信息 说明:很多函数都有重载,根据上面的信息,已经可以自己去查文档了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式