[#1] bsdsocket.library - usage
Witam, czy ma ktos gdzie zapisany link, ewentualnie posiada jakies malo rozbudowane przyklady uzycia, np do pobrania konkretnego pliku przez url do bsdsocket.library? takze mile widziane includy do asm..

aktualnie znalazlem opis funkcji biblioteki tutaj: http://amiga.sourceforge.net/amigadevhelp/phpwebdev.php?keyword=bsdsocket&funcgroup=GeekGadgets&action=Search

i zastanawiam sie czy jest cos wiecej gdzies?

tak sobie mysle, ze dobrze byloby dodawac do programow czy gier obsluge internetu, chociazby nawet w najprostszym uzyciu w celu sprawdzania czy jest dostepna nowa wersja, az po rozgrywki sieciowe :)
[#2] Re: bsdsocket.library - usage

@juen, post #1

Tanks Furry multiplayer online?
[#3] Re: bsdsocket.library - usage

@juen, post #1

A sprawdzales na Aminecie doca od AmiTCP?
[#4] Re: bsdsocket.library - usage

@Don_Adan, post #3

dzieki za namiar gdzie szukac, z tego co widze cos mozna znalezc tu:

http://aminet.net/package/comm/tcp/AmiTCP-SDK-4.3

pytanie teraz czy ktos cos w assemblerze, czy wylacznie c?:)
[#5] Re: bsdsocket.library - usage

@juen, post #4

Bsdsocket to jest tylko pierwszy poziom, na socketach trzeba jeszcze napisać klienta protokołu HTTP. I owszem ktoś coś w asemblerze, ale nie mam pojęcia na kiedy.
[#6] Re: bsdsocket.library - usage

@juen, post #4

Nie powinieneś się chyba przejmować stosem bo może być ich 3/4 różne.
Raczej samą obsługą bsdsocket.library

Natknąłem się na nią w postaci amosowej i niebawem będę chciał zrobić z tego użytek.

http://aminet.net/package/dev/amos/BSDSocket

Są opisane funkcje i możliwości. Ciekawe jak to się ma do C i Asemblera...
[#7] Re: bsdsocket.library - usage

@Krashan, post #5

a to juz zaden problem, najwazniejsze by zagadal :) mysle, ze mam juz dosc info i cos rozkminie. raz, ze z docsow amitcp, a dwa, ze zawsze moge sie wesprzec i rozasemblowac rozszerzenie amosowe i sprawdzic dokladnie co i jak (i wtedy nawet includy nie beda potrzebne). ale z tego co widze to obsluga bsdsocket.library jest malo skomplikowana

ps: fajnie, ze jest biblioteka do amosa, traktuje to jako ciekawostke, ale czy ktos slyszal o jakiejs grze ktora to ja wykorzystala?:) a jak nie to czekam Pong777 na Twoje dzielo :)

Ostatnia aktualizacja: 09.03.2016 22:06:28 przez juen
[#8] Re: bsdsocket.library - usage

@juen, post #7

haha po 4ch latach wrocilem do tematu, ale pierwsze koty za ploty!!!

[#9] Re: bsdsocket.library - usage

@juen, post #8

dla potomnych, kod standalone bez includow, dzialajacy laczacy sie z moim serwerem
(uzywam asm-one):

(milo bedzie jak ktos to odpali, na uae wystarczy zaznaczyc bsdsocket.library w extensions)

test:	
			jsr		bsdOpen		
			beq		_error
			
			move.l	#$B952FA0E,d0 ;ip - (szajb.us) (32bit) - https://www.subnetonline.com/pages/converters/ip-to-bin-dec-and-bin-32-bit.php
			move.w	#1889,d1 ;port
			jsr		bsdConnect
			bne		_connectError
						
			lea		bsdMsg,a0
			move.l	#bsdMsgEnd-bsdMsg,d1
			jsr		bsdSend
			
			lea		bsdBuf,a0
			move.l	#bsdBufEnd-bsdBuf,d1
			jsr		bsdGet

_connectError:						
			jsr		bsdClose

_error:
			lea		bsdBuf,a0
			movem.l	(a0)+,d0-d3 ;global error - d0 = 0, api error d0 = "ERR!", no error? d0 = "v1.0"
			
			rts

			even
bsdMsg:		dc.b	'version abr'
bsdMsgEnd:
bsdBuf:		dc.l	0,0,0,0
bsdBufEnd:



		
			
			section	bsdWrapper,code_p

; wrapper by juen
		

bsdGet:		move.l	bsdBase,a6
			move.l	bsdSocket,d0
			moveq	#0,d2
			jsr		-78(a6); recv()		

bsdSend:	move.l	bsdBase,a6
			move.l	bsdSocket,d0
			moveq	#0,d2
			jsr		-66(a6); send()
			rts

bsdConnect:	move.l	bsdBase,a6
			lea		bsdTarget,a0
			move.w	d1,2(a0)
			move.l	d0,4(a0)
			move.l	bsdSocket,d0
			move.l	#20,d1
			jsr		-54(a6); connect() -> 0 = ok!
			tst.l	d0
			rts

bsdOpen:    move.l	4,a6
            lea		bsdName,a1
            moveq	#0,d0
            jsr		-552(a6)
            move.l	d0,bsdbase
			beq		bsdError
			
			move.l	d0,a6
			moveq	#2,d0; AF_INET
			moveq	#1,d1; SOCK_STREAM (TCP)			
			moveq	#0,d2; NOT USED IN TCP
			jsr		-30(a6); socket() -> -1 = fail
			move.l	d0,bsdSocket

			move.l	bsdBase,d0
			rts
			
bsdClose:	move.l	bsdBase,a6
			move.l	bsdSocket,d0
			jsr		-120(a6); closeSocket()
			
			move.l	4,a6
			move.l	bsdBase,a1
			jsr		-414(a6)
			move.l	#0,bsdBase
			rts

bsdError:	moveq	#0,d0
			rts			

			even
bsdBase:	dc.l	0	
bsdSocket:	dc.l	0				
bsdTarget:	dc.w	2,0 ;AF_INET, PORT
			dc.b	0,0,0,0 ;IP: 0.0.0.0
			dc.b	0,0,0,0,0,0,0,0
bsdName:	dc.b	'bsdsocket.library',0
[#10] Re: bsdsocket.library - usage

@juen, post #9

Dobra, dawaj coś do wysyłania podpisanych soapów i będzie git.
[#11] Re: bsdsocket.library - usage

@juen, post #9

Odpaliłem, były jakieś tam dwa babolki a w zasadzie jeden, pierwszy to odd address (trzeba dodać even za bsdMsgEnd ) a druga rzecz to wielkość liter w bsdBase ( jest bsdbase w bsdOpen). Poza tym spoko działa w bsdBuf dostałem coś tam w ascii. OK
[#12] Re: bsdsocket.library - usage

@asman, post #11

dzieki za info, ja mam LCase = UCase wiec nie zauwazylem :)
[#13] Re: bsdsocket.library - usage

@asman, post #11

mam pytanie - sprawdzales na winuae czy na Amidze?
[#14] Re: bsdsocket.library - usage

@juen, post #13

Na WinUAE (oczywiście odpaliłem tam Asm-One).
[#15] Re: bsdsocket.library - usage

@asman, post #14

poprawka, teraz dziala na kazdym stosie:

test:	
			jsr		bsdOpen		
			beq		_error
			
			move.l	#$B952FA0E,d0 ;ip - (szajb.us) (32bit) - https://www.subnetonline.com/pages/converters/ip-to-bin-dec-and-bin-32-bit.php
			move.w	#1889,d1 ;port
			jsr		bsdConnect
			bne		_connectError
						
			lea		bsdMsg,a0
			move.l	#bsdMsgEnd-bsdMsg,d1
			jsr		bsdSend
			
			lea		bsdBuf,a0
			move.l	#bsdBufEnd-bsdBuf,d1
			jsr		bsdGet

_connectError:						
			jsr		bsdClose

_error:
			lea		bsdBuf,a0
			movem.l	(a0)+,d0-d3 ;global error - d0 = 0, api error d0 = "ERR!", no error? d0 = "v1.0"
			
			rts

			even
bsdMsg:		dc.b	'version abr'
bsdMsgEnd:
bsdBuf:		dc.l	0,0,0,0
bsdBufEnd:



		
			
			section	bsdWrapper,code_p

; wrapper by juen
		

bsdGet:		move.l	bsdBase,a6
			move.l	bsdSocket,d0
			moveq	#0,d2
			jsr		-78(a6); recv()		

bsdSend:	move.l	bsdBase,a6
			move.l	bsdSocket,d0
			moveq	#0,d2
			jsr		-66(a6); send()
			rts

bsdConnect:	move.l	bsdBase,a6
			lea		bsdTarget,a0
			move.w	d1,2(a0)
			move.l	d0,4(a0)
			move.l	bsdSocket,d0
			move.l	#16,d1
			jsr		-54(a6); connect() -> 0 = ok!
			tst.l	d0
			rts

bsdOpen:    move.l	4,a6
            lea		bsdName,a1
            moveq	#0,d0
            jsr		-552(a6)
            move.l	d0,bsdBase
			beq		bsdError
			
			move.l	d0,a6
			moveq	#2,d0; AF_INET
			moveq	#1,d1; SOCK_STREAM (TCP)			
			moveq	#0,d2; NOT USED IN TCP
			jsr		-30(a6); socket() -> -1 = fail
			move.l	d0,bsdSocket

			move.l	bsdBase,d0
			rts
			
bsdClose:	move.l	bsdBase,a6
			move.l	bsdSocket,d0
			jsr		-120(a6); closeSocket()
			
			move.l	4,a6
			move.l	bsdBase,a1
			jsr		-414(a6)
			move.l	#0,bsdBase
			rts

bsdError:	moveq	#0,d0
			rts			

			even
bsdBase:	dc.l	0	
bsdSocket:	dc.l	0				
bsdTarget:	dc.w	2,0 ;AF_INET, PORT
			dc.b	0,0,0,0 ;IP: 0.0.0.0
			dc.b	0,0,0,0,0,0,0,0
bsdName:	dc.b	'bsdsocket.library',0
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem