Autor Wątek: WinSock  (Przeczytany 2994 razy)

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 01:09:05
Napisałem artykuł o programowaniu w WinSock nie musi być koniecznie zamieszczony na stronie ale chce abyście go skomentowali, chętnie wysłucham krytyki. http://www.dragon1020.yoyo.pl/artykul.txt Artykuł jest w formacie txt bo bardzo kiepsko znam html (o ile wogule  8)).

P.S. Jest to mój pierwszy artykuł, mam nadzieje że nie ostatni  ;)  Jeżeli okaże się "godny" umieszczenia na stronie sam będę mógł przerobić go na html'a.
« Ostatnia zmiana: Maj 05, 2007, 01:27:19 wysłana przez Dragon1020 »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline nameczanin

  • Użytkownik
    • devlog

# Maj 05, 2007, 01:38:22
Drogi Panie... zrob jakies sztuczne entery, zeby to wygladalo jak dokumenty RFC, bo tak jezdzic przegladarka w prawo i lewo mi sie nie chce :-) Poza tym na starcie widze, ze to jakis krotkawy wstep ma. Popraw.

EDIT: tak Krzysiek ponizej mnie natchnal, to dodam, ze przydalyby sie nawet jakies metody enkapsulacji danych. Potem jakis mini protokol. Dzialy powinny byc wyraznie zaznaczone. Jak juz nie mozesz HTML-em, to Wordem (OpenOffice?), zeby byly naglowki itp. [widoczny plan dokumentu]. Tak samo - wszystko powinienes choc troche definiowac. Nie dawaj wrazenia czytelnikowi, ze jestes niedoskonaly. Twoja osoba nie powinna pojawiac sie w artykule. Bowiem "cos jest i koniec".

To kilka zdan wyrwanych z tekstu wraz z moimi komentarzami do nich [w ten sposob powinienes opisywac argumenty]:
* "Pierwszy parametr wiadomy, drugi jeszcze niewiadomo ale się to zmieni otóż wpisujemy" - brak interpunkcji, bledne zalozenia i ogolnie zle wypisujesz [i to co wyzej w kwadratowym nawiasie].
* "Dobra troche się zamotało ale po koleji najpierw tworzymy nowy socket, po co?" - to ma byc jasne, nie zamotane.
* "Wszystko wiadomo, przydać może się wam informacja że" - znowu wszystko wiem? Ale mi sie nie chcialo czytac kodu, ani tymbardziej go rozumiec [no dobra, nie umiem zrozumiec Twojego kodu]. Co ja poczne? "BEZNADZIEJNY ARTYKUL!" [sorry za twarda krytyke, prosiles sie]
* "Czekam na wasze komentarze i ewentualne pytania, mój adres to dragon1020@interia.pl jak będe znać odpowied� to opisze ;)" - po wszystkim powyzej domyslam sie, ze nie znasz odpowiedzi, nie napisze do Ciebie, sorry.

I rozumiem, ze chcesz sie przysluzyc spoleczenstwu, ale jak chcesz uczyc to musisz byc wzorem. Nie mozesz tytulowac jako uczony ale wyuczony. I nie tylko pod wzgledem znajomosci czegos, ale nawet umiejetnosci przekazania tego - czyli jezyk, wyczucie potrzeby, "charyzma".

I naucz sie HTML, bo warto znac historie. Potem naucz sie XHTML, bo warto byc w modzie. Ale to jak skonczysz ten artykul :]


BTW Warsztatowicze: chyba skiter cos kiedys pisal w tym kierunku. Ma ktos jakies informacje na ten temat?
« Ostatnia zmiana: Maj 05, 2007, 02:09:16 wysłana przez nameczanin »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Maj 05, 2007, 01:53:41
Cytuj
chce abyście go skomentowali, chętnie wysłucham krytyki.
Po co komentarze, przecież wszystko wiadomo. ;)


Dobra, a teraz konkrety:

1. Jak już piszesz artykuł, to opisuj wszystko chociaż po trochu i nigdy nie zakładaj, że czytelnik wszystko wie (inaczej by nie czytał artykułu). Poza tym mimo że wie, często chciałby się upewnić, że myśli dobrze.

2. Złóż to wszystko w jakiś przykładowy kod, chociażby taki, który sciąga stronę główną Wirtualnej Polski i wyświetla ją na konsoli. W razie czego użytkownik będzie miał coś, co działa.

3. Artykuł jest na bardzo podstawowym poziomie i nie pozwala na wykorzystanie tej wiedzy w gamedevie (no, chyba że prosty klient do gry komunikującej się z jakimś PHP'em).

4. Artykuł jest niekompletny i nie opisuje w pełni sposobu komunikacji przez sockety. Główne błędy:
- opisujesz tylko konstrukcję serwera, do którego w dodatku może podłączyć się tylko jeden klient...
- ...który i tak się nie podłączy, bo przecież nie opisałeś sposobu podłączania się do serwera,
- przydałby się opis komunikacji, która nie zablokuje programu,
- nie opisujesz sposobu wykrywania zakończenia połączenia,
- nie opisujesz sposobu obsługi błędów,
- pozostawiasz wiele detali nieopisanych (chociażby co to jest htons()),


Powiem szczerze, że wygląda to w tej chwili na dopiero zalążek artykułu i jeszcze przed Tobą sporo pracy. Powodzenia! :)

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Maj 05, 2007, 10:26:35
Jeśli artykuł byłby dobry to sam mogę przerobić go na HTML. Liczy się treść. Ten niestety, mówiąc szczerze, jest za słaby/za krótki, żeby trafić na stronę. Brakuje mu choćby opisu funkcji connect() :)

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 13:00:49
Wysłuchałem waszej krytyki i postanowiłem poprawić artykuł a właście napisałem go od nowa. http://www.dragon1020.yoyo.pl/abcd.html Tym razem napisałem go w html 8). Może po prostu nie nadaje się do pisania artykułów.

Offline matyssek

  • Użytkownik

# Maj 05, 2007, 13:17:27
No jest już lepiej, ale kilka uwag do wersji HTML:
 - tak jak w pierwotnej wersji, troszkę więcej można byłoby opisać (wiadomo...)
 - popraw kodowanie, bo są problemy z polskimi znakami
 - zastanawiają mnie przykładowe programy, a dokładniej początek:
#include
#include
#include
;)
Ale tak ogólnie to spoko, poprawisz te rzeczy i według mnie można byłoby na stronę wrzucić :)

Pozdrawiam

PS. A tak na przyszłość to nie bój się pisać - zawsze lepiej, żeby było opisane dużo za dużo, niż za mało (nawet jakbyś miał opisywać po kolei każdą funkcję - nawet te badziewne, które i tak wszyscy wiedzą co one robią ) ;)

Offline Kurak

  • Użytkownik

# Maj 05, 2007, 13:50:03
1. Pamiętaj, że pisząc w HTML znaki "<" i ">" są inaczej interpretowane - najlepiej pisz w jakimś generatorze HTML-a (np. OpenOffice, generuje nawet dosyć czysty kod), który to automatycznie pozamienia na odpowiednie znaki
2. Przeleć to sprawdzaniem pisowni, bo są tam obok siebie rażące błędy ortograficzne

Jeśli chodzi o treść - to taki skrótowiec :) Chociaż, gdyby poprawić powyższe błędy, trochę to rozwinąć to by nawet pasowało - dawno żadnego nowego artykułu nie było :)

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 14:21:01
Znaczniki "<" i ">" już poprawiłem, dodałem opis trzech następnych funkcji i może jeszcze dodam więcej. A póki co link do trzeciej już wersji  ;D. http://www.dragon1020.yoyo.pl/abcd_v3.html

Offline nameczanin

  • Użytkownik
    • devlog

# Maj 05, 2007, 14:31:11
1. Nie pisz zagadkowo, ze wypelniamy jakas strukture, tylko ja nazwil (typem lub nazwa zmiennej)
2. Proponuje rozdzielic wysylanie i odbieranie, wiekszy porzadek
3. Kod poformatowac
4. Matko Święta [nie jestem z KK], bledy ort. sa okropne.
5. Fajnie byłoby jakbyś zrobił serwer multi-wątkowy

EDIT: do tego ponizej - moj punkt 3 dalej kuleje. Zrob raz a dobrze ten caly art. Przeczytaj kilka innych podobnych artow i zastanow sie czego Ci brakuje.
« Ostatnia zmiana: Maj 05, 2007, 15:14:00 wysłana przez nameczanin »

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 15:06:38
Poprawiłem błędy ort. (mam nadzieje że wszystkie  8)) Rozdzieliłem wysyłanie i odbieranie. A do wersji piątej artykułu spróbuje przygotować serwer multi-wątkowy. Adres do czwartej wersji artykułu. http://www.dragon1020.yoyo.pl/abcd_v4.html A także dalej czekam na sugestie.

Offline k_b

  • Użytkownik
    • Blog

# Maj 05, 2007, 15:42:36
Nie umiem wogóle WinSocketa (więc myślę, że jestem jednym z 'członków grupy docelowej'), oto moje uwagi:

1. Na początku dobrze by było napisać do czego służy WinSocket.
2. Przez co ciągle mi się wydaję podczas czytania, że artykuł jest dla tych co doskonale znają WS (a chyba powinno być wręcz przeciwnie skoro omawia on podstawy tej biblioteki).
3. Małe uwagi do (chyba, nie jestem polonistą) błędów interpunkcyjnych typu "tworzymy nowy, socket, przez który".
4. Śmieszne przełamania typu:
"piszę coś tam takiego bardzo bardzo ale to bardzo
dla mnie
bardzo ciekawego i śmiesznego". (Chodzi mi tu nie o wymyśloną przeze mnie treść, a sam układ wyświetlania tekstu [dla rozwiązania problemu proponuję nie "Mamy już socketa gotowego do pracy, dalej czas go ustawić na nasłuchiwanie funkcją listen,<br> a jeżeli chcemy się połączyć używamy connect:<br>", a "Mamy już socketa gotowego do pracy, dalej czas go ustawić na nasłuchiwanie funkcją listen, a jeżeli chcemy się połączyć używamy connect:<br>", to na pewno poprawi czytelność artykułu - interpreter HTMLa sam przełamuje linię, gdy dojdzie do prawej krawędzi ekranu).
5. Brak tabulatorów rozjaśniających kod, zamiast niego w HTML trza wstawić np. "&nbsp;&nbsp;&nbsp;&nbsp;".

Gdyby nie te 'małe' usterki, artykuł dla mnie byłby dobry (sorry, ale po prostu jakoś nie odpowiada mi Twój styl pisania, dlatego nie b. dobry). Pracuj - warto!

@down: w sumie jest prawie dobrze (prawie czyni...), punkt 4 dalej aktualny! (Po prostu usuń wszystkie <br> oprócz tych na końcu jakichś rozdziałów czy przed kodem). Napisać lepiej zawsze możesz, przecież twój podpis pod awatarem - "Impossible is nothing" :D.
« Ostatnia zmiana: Maj 05, 2007, 17:29:22 wysłana przez k_b »

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 16:24:27
Nie napisałem serwera multi-wątkowego bo mi coś z tymi wątkami nie idzie jak ktoś ma adres do jakiegoś kursu to niech poda link może mi się uda napisać. A co do artykułu przejrzałem go jeszcze raz i poprawiłem już lepiej narzazie chyba nie napisze :(.

@up: wersja bez "<br>" http://www.dragon1020.yoyo.pl/abcd_v6.html. Ciekawe czy doczekam wersji 10  :D
« Ostatnia zmiana: Maj 05, 2007, 19:27:11 wysłana przez Dragon1020 »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Maj 05, 2007, 21:03:21
Uwagi co do kodu: w ogólności to nie zadziała, bo zapomniałeś o zerach kończących tekst. Także warto pamiętać o tym, że recv() moze zwrócić zero, jeżeli połącvzenie zostało zamknięte.

EDIT:
Cytuj
[nie jestem z KK]
Wiem, że ze mną nie jesteś. ;)

Offline Dragon1020

  • Użytkownik

# Maj 05, 2007, 23:43:20
Jak widać jakoś mi nie idzie z pisaniem artykułów, wole pisać gry/programy  8) niż artykuły, może jeszcze go poprawie ale póki co mi się już mi się nie chce  :P. A napisałem ten artykuł tak dla spróbowania.

Offline nameczanin

  • Użytkownik
    • devlog

# Maj 06, 2007, 04:16:48
Sorry, ale polonisci by sie obrazili.

Cytuj
A napisałem ten artykuł tak dla spróbowania.
...o ile to jest artykul. Mysle, ze w takim razie lock tematu.