I'm probably missing something simple, but this following code on OSX sometimes doesn't properly send every bit before closing when talking to OSX from Windows (over network).

At first I thought it was my network but a colleague had at the same issue at home. What am I missing? If i set a breakpoint on the shutdown (in monodevelop) it does end up sending everything.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Net;
using System.Runtime.InteropServices;
using System.Threading;
using System.Net.Sockets;
namespace msock
{

class Program {
static void Main (string[] args)
{
        TcpListener t = new TcpListener (1118);
        t.Start ();
        while (true) {
                var socket = t.AcceptSocket();

                var x = new byte[130400];
                for (int i = 0; i < x.Length; i ++)
                        x[i] = (byte)((int)('a')+(i % 26));
x[x.Length-4] = (int)'D';x[x.Length-3] = (int)'O';x[x.Length-2] = (int)'N';x[x.Length-1] = (int)'E';

                        SocketError er;
                        int n;
n= socket.Send(x, 0, x.Length, SocketFlags.None, out er);
                        socket.Shutdown(SocketShutdown.Both);
                        socket.Close();
        }
}
    }
}
_______________________________________________
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to