Avatar billede cautoo Nybegynder
28. juni 2001 - 13:25 Der er 23 kommentarer og
4 løsninger

Socket (HASTER)

Med server socket og clientsocket kan man sende beskeder til hinanden men kan ikk med server sokcet clintsocket sende en fil til den anden bruger (mener exe og dll)
Avatar billede martinlind Nybegynder
28. juni 2001 - 13:26 #1
Brug en StreamServer/Client istedet for.
Avatar billede cautoo Nybegynder
28. juni 2001 - 13:28 #2
er det indbygget i delphi??
Avatar billede martinlind Nybegynder
28. juni 2001 - 13:31 #3
NetMaster / INDY comp.
Avatar billede spectual Nybegynder
28. juni 2001 - 13:44 #4
form1.ClientSocket1.Socket.SendStream

skulle du gerne kunne sende en fil med.
Avatar billede cautoo Nybegynder
28. juni 2001 - 15:06 #5
spectual>> oki tak hvordan ka man så modtage den og gemme den et bedstemt sted??????
Avatar billede martinlind Nybegynder
28. juni 2001 - 15:17 #6
Kig i hjælpen under TMemoryStream !
Avatar billede spectual Nybegynder
29. juni 2001 - 10:13 #7
Jeg ville bruge:

serversocket.ReceiveBuf

Følgende er fra hjælpen:

Reads up to Count bytes from the socket connection into the Buf parameter.

function ReceiveBuf(var Buf; Count: Integer): Integer;

Description

Use ReceiveBuf to read from the socket connection in the OnSocketEvent event handler of a Windows socket object or in the OnRead or OnClientRead event handler of a socket component. ReceiveBuf returns the number of bytes actually read. If no bytes are read, ReceiveBuf returns –1.

ReceiveBuf only works in response to a read notification to a non-blocking windows socket. Blocking sockets must use a TWinSocketStream for reading. The TWinSocketStream object waits for the remote socket to be ready before transferring information.

Note:    While the ReceiveLength method can return an estimate of the size of buffer required to retrieve information from the socket, the number of bytes it returns is not necessarily accurate.



Avatar billede spectual Nybegynder
29. juni 2001 - 10:15 #8
Noget i denne stil:

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
buf : array [0..5000] of byte;
fil : file of byte;
br : longint;
begin;
assignfile (fil,\'modtag.dat\');rewrite (fil);
repeat;
br:=socket.receivebuf (buf,5001);
blockwrite (fil,buf,br);
until (br=0);
closefile (fil);
end;
Avatar billede spectual Nybegynder
29. juni 2001 - 10:16 #9
Men det forudsætter vist at hele filen bliver sendt på een gang.
Avatar billede spectual Nybegynder
29. juni 2001 - 10:19 #10
Tester lige noget:

.. returns –1.
Avatar billede spectual Nybegynder
29. juni 2001 - 10:20 #11
Hmmmmm.. underligt.

Der skulle stå:

.. returns minus 1 men i stedet bliver det til

.. returns -1.

Test:
-1.

Test 2:
-1
Avatar billede cms Nybegynder
29. juni 2001 - 15:43 #12
hmm, der kan være problemer med at sende store filer med delphi\'s serversocket og clientsocket. Brug i stedet som martinlind foreslår: indy\'s tcp/ip-komponenter:
www.nevrona.com/indy

der findes et eksempel på en trivialftpserver+client, der sender store filer og gemmer dem bestemte steder - ovenikøbet viser den progress i forløbet...
Avatar billede cautoo Nybegynder
29. juni 2001 - 16:36 #13
Hvis nu den ene computerhar      filnavn := gemmesti
og hvis den anden computer har  filnavn := hentsti

kan i så ikke lave et eks. der der får dette til at virke
Avatar billede cautoo Nybegynder
29. juni 2001 - 16:36 #14
og det skal være serversocket og clientsocket fra delphi
Avatar billede cms Nybegynder
01. juli 2001 - 14:28 #15
hvorfor ?
Avatar billede cautoo Nybegynder
01. juli 2001 - 17:15 #16
oki det behøver ikk være server socket da jeg lige fandt ud af det ikke virker over internettet men det ska være noget i den retning da jeg har lavet et program ud fra serversocket componenterne
Avatar billede cms Nybegynder
01. juli 2001 - 17:24 #17
serversocket og clientsocket burde virke over internettet, hvis du kender ip-adressen på serveren.
indy\'s komponenter er så stor en hjælp at du hurtigt og gladeligt vil ændre *ALLE* dine gamle applikationer der bruger client/serversocket til at bruge IdTCPClient og IdTCPServer !!!
- det gjorde jeg i hvert fald :o)
Avatar billede cautoo Nybegynder
01. juli 2001 - 17:29 #18
oki men hvis jeg bruger dem ka du så en kode (som den jeg bad om lidt højere oppe) til begge computere?????
Avatar billede spectual Nybegynder
02. juli 2001 - 11:43 #19
serversocket og clientsocket virker over internettet - har prøvet det.

Avatar billede cautoo Nybegynder
02. juli 2001 - 14:20 #20
jeg kunne ikk få dem til at virke da je prøvede med en ven jeg brugte port 379 ka det betyde noget????
Avatar billede spectual Nybegynder
02. juli 2001 - 14:22 #21
Det kan det da muligvis. Måske bliver porten brugt til noget andet. Du kunne evt. prøve med en anden port.
Avatar billede cms Nybegynder
02. juli 2001 - 17:48 #22
hvad var fejlen?
Avatar billede cms Nybegynder
05. juli 2001 - 12:29 #23
altså: hvad var fejlmeddelelsen?
Avatar billede cautoo Nybegynder
05. juli 2001 - 20:41 #24
den siger at der ikke er nogen den kan tilslutte til
Avatar billede spectual Nybegynder
06. juli 2001 - 10:13 #25
Er det der chat program som følger med delphi?

Prøv at skriv de 2 første cifre af den ip adresse, som prøvede at koble op til.
Avatar billede hansen_palle Nybegynder
07. juli 2001 - 15:18 #26
Prøv denne adresse :

http://users.swing.be/francois.piette/midwareuk.htm

hans implemtation kan dataset, filer hvad som helst... også så det med fuld kilde kode.

Det er nemt at bruge og det virker meget overbevisende.
Avatar billede hansen_palle Nybegynder
07. juli 2001 - 15:19 #27
ups lidt hurtigt, men i kan selv sætte de manglede fyld ord ind :0)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester