Я не могу сказать, что должен делать ваш код, потому что он имеет внешние зависимости, но, как минимум, ваша проблема заключается в отступе: пробел в F # важен и, в частности, играет важную роль в определении лексической области действия. Поэтому для начала вам нужно исправить отступ, что-то вроде
[EntryPoint]
let Main (args:string[]) =
let start = startServer (args.[0])
Console.Read()
let rec handle =
let handler = socket.Accept()
let rec recieveData =
let bytesRec = handler.Receive(bytes)
let data = Encoding.ASCII.GetString(bytes,0,bytesRec)
Console.WriteLine( "Text received : {0}", data)
Console.Read()
0
Кроме того, использование значений rec
может показаться ненужным, если не неправильным. И странно, что вы выполняете кучу работы в теле выражения handle
let только для того, чтобы связать его с 0
... Вы имеете в виду handle
или recieveData
как функции? Если это так, возможно, вы намеревались что-то более похожее * 1009
let handle socket = //make handle a function with socket an explicit dependency
let handler = socket.Accept()
let bytesRec = handler.Receive(bytes)
let data = Encoding.ASCII.GetString(bytes,0,bytesRec)
Console.WriteLine( "Text received : {0}", data)
Console.Read() |> ignore //probably you are using Read to wait for user interaction to continue, but just ignore the result (returning unit) instead of returning 0