Дайте кто нибудь пример Tcp сервера на BM
на blitz3d все просто при создании
Type streams
Field stream
End Type
tcp=CreateTCPServer(port)
repeat
new_potok=AcceptTCPStream(tcp)
If new_potok Then
ss.streams=New streams
ss\stream=new_potok
endif
For ss.stream=Each streams
If ReadAvail(ss\stream) Then
a$=readline(ss\stream)
writeline ss\stream,a$
endif
next
until keyghit(1)
как такое реализовать на blitzmax'e ?
1. создаем
Global tcp_port:Int=111222
Global socket:Tsocket
socket=CreateTCPSocket()
BindSocket(socket,tcp_port)
2. далее
тип для потоков
Type client
Field stream:Tsocketstream
Field socket:Tsocket
End Type
Global client_list:TList=New TList
цикл
3.If SocketAccept(socket) Then проверяем если есть то создаем сам поток
c:client=New client
client_list.AddLast c
c.stream=CreateSocketStream(c.socket)
4. вот дальше непонимаю
For c:client=EachIn client_list
cn=cn+1
If SocketReadAvail(c.socket) Then
a$=ReadLine(c.stream) - тож непонятно
EndIf
Next
5. отправка writeline(c.stream) - тож непонятно
хотелось бы больше узнать про работу с сокетами и потоками для них в BM
ну или готовый пример с коментариями 4 и 5 части