是否应该先出始化winsock动态连接库,代码如下:
var
wsadata:twsadata;
……
begin
if wsastartup($002,wsadata)<>0 then halt;clisock:=socket(AF_INET,SOCK_stream,0);
if(clisock=INVALID_SOCKET) then
begin
application.MessageBox('创建SOCKET出现错误,程序即将关闭','严重错误',mb_ok+mb_iconwarning);
application.Terminate;
end;
ZeroMemory(@saproxy,sizeof(saproxy));
……
end;
var
wsadata:twsadata;
……
begin
if wsastartup($002,wsadata)<>0 then halt;clisock:=socket(AF_INET,SOCK_stream,0);
if(clisock=INVALID_SOCKET) then
begin
application.MessageBox('创建SOCKET出现错误,程序即将关闭','严重错误',mb_ok+mb_iconwarning);
application.Terminate;
end;
ZeroMemory(@saproxy,sizeof(saproxy));
……
end;
解决方案 »
- 课件遇问题```在线等``
- 使用Qreport制作报表时,如何实现横向显示和打印?
- 如何用Delphi修改注册表??
- 调用BPL中的MDIChild Form的问题
- 怎样在安装程序中注册控件?
- 请问如何修改TWEBBROWSER里网页的背景图片(需要从流或其他控件的图片导入)?
- 如何执行用DELPHI写的WEB应用程序?
- 300分 吐血求救,一次给不够,可以给3次,组件的问题
- 小天使(新手)----关于dll(游少爷)
- mis数据里,数据备分的实质是什么?是不是把数据库表备份到另一个文件夹里??另外,mis中是不是一般不直接在dbgrid中操作数据,而是用edit代表要输入的数据?????100分,不难
- 怎样安装没有原代码的组件,只有dcu文件?
- 请教怎样把一个文件从资源文件中提出来
clisock:tsocket;
saproxy:TSockAddr;
re:integer;
begin
WSAStartUp($1010, WSData);
try
clisock:=socket(AF_INET,SOCK_stream,0);
if(clisock=INVALID_SOCKET) then
begin
Error()
end;
ZeroMemory(@saproxy,sizeof(saproxy));
saproxy.sin_family := AF_INET;
saproxy.sin_addr.S_addr :=inet_addr('192.168.0.1');
saproxy.sin_port := htons(9600);
//
block := 1; //Integer type, 不知是1, 还是0,设为阻塞模式
iosockopt(clisock, 参数忘了,block)
//
Re:=connect(clisock,saproxy,sizeof(saproxy));
if Re=SOCKET_ERROR then
begin
Error()
end;
//
finally
closehandle(clisock);
WSACleanUp;
end;
end;