📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Winsock, StdCtrls,IniFiles;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
//客户端套接字
ClientSocket:TSocket;
Program_Path:string;//ini文件路径
ServerIP:string;//服务器IP
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
args:integer;
wVersion: WORD;
iError: integer;
wWSAData: TWSAData;
MyIni: TIniFile;//ini文件
begin
wVersion := MakeWord(2, 0); //要求版本为 WinSocket 2.0
iError := WSAStartup(wVersion, wWSAData);
//创建客户端套接字
ClientSocket:=socket(PF_INET,SOCK_DGRAM,IPPROTO_IP);
if ClientSocket=INVALID_SOCKET then
begin
MessageBox(handle,'创建客户端套接字失败!','提示',mb_ok);
end
else
memo1.Lines.Add('创建客户端套接字成功!');
Program_Path := ExtractFilePath(Application.ExeName);
MyIni := TIniFile.Create(Program_Path + 'para.ini'); //调用的文件名
ServerIP:=MyIni.ReadString('PARA_NORMAL', 'IP', '');//从ini文件中取服务器IP
end;
procedure TForm1.Button1Click(Sender: TObject);
var
content:string;
ca:SOCKADDR_IN;
sendlen:integer;
begin
content:=trim(memo1.Text );
ca.sin_family :=PF_INET;
ca.sin_addr.S_addr:=inet_addr(pchar(ServerIP));
ca.sin_port:= htons(10000);//设置端口号
sendlen:=sendto(ClientSocket,content[1],length(content),0,ca,sizeof(ca));
showmessage(inttostr(sendlen));
memo1.Clear;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -