鱼C论坛

 找回密码
 立即注册
查看: 2841|回复: 1

C# SOCKET编程有BUG

[复制链接]
发表于 2013-9-19 21:43:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
:sweat:标题说不清楚
先贴源码

这个是服务端的部分代码
 private void Form1_Load(object sender, EventArgs e)
        {
            socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6543));
            socket.Listen(10);

            thread = new Thread(() =>
            {                
                while (true)
                {   
                    Socket s = socket.Accept(); /*主要是这句,如果这句放在循环里面的话每个客户端只能发送一次信息 ,如果将这句放到循环上面的话,只有第一个客户端能连上并且可以发送多次 */
                    byte[] buffer = new byte[1024];
                    int n = s.Receive(buffer, buffer.Length, 0);
                    string str = Encoding.Default.GetString(buffer).Trim('\0');
                    Invoke(new MethodInvoker(() => {
                        this.textBox1.AppendText(str);
                        this.textBox1.AppendText("\r\n");
                    }));
                    byte[] tmp = Encoding.Default.GetBytes("服务端返回信息...");
                    s.Send(tmp, tmp.Length, 0);
                }             
            });
            thread.Start();
            this.Text = "服务器已开启";
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-19 22:57:54 | 显示全部楼层
:sweat:终于解决了.........
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-28 15:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表