为什么服务器只接受一个客户端的连接? 用的是socket+ado当一个客户端连接上时,,第二个客户端就连不上了,会出现"windows socket error:通常每个套接字地址(协议/网络地址/端口)只允许使用一次。(10048),on API 'bind'" 怎么解决?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的DCOM也有同样的问题!!我帮你up 把ADOconnction关闭试试,我曾遇过,我是这么做的 以下是服务器主程序,高手帮忙看看,哪里错了???unit Unit2;{$WARN SYMBOL_PLATFORM OFF}interfaceuses Windows, Messages, SysUtils, Variants,Forms,Classes, ComServ, ComObj, VCLCom, DataBkr, Dialogs, DBClient, Project1_TLB, StdVcl, DBTables, Provider, DB, ADODB, ScktComp;type Tjobman = class(TRemoteDataModule, Ijobman) ADOConnection1: TADOConnection; unit_login: TADOQuery; unit_loginpro: TDataSetProvider; jobs: TADOQuery; jobs_pro: TDataSetProvider; comm: TADOQuery; comm_pro: TDataSetProvider; Session1: TSession; fact_look: TADOQuery; fact_lookpro: TDataSetProvider; job_class: TADOQuery; job_classpro: TDataSetProvider; ServerSocket1: TServerSocket; ADOQuery1: TADOQuery; DataSetProvider1: TDataSetProvider; factpro2: TDataSetProvider; fact2: TADOQuery; function DataSetProvider3DataRequest(Sender: TObject; Input: OleVariant): OleVariant; procedure fact_lookproBeforeUpdateRecord(Sender: TObject; SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean); private { Private declarations } protected class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override; procedure SQLDeal(var SQLDeal: OleVariant); safecall; procedure jobsel(var job: OleVariant); safecall; public { Public declarations } end;implementation{$R *.DFM}class procedure Tjobman.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);begin if Register then begin inherited UpdateRegistry(Register, ClassID, ProgID); EnableSocketTransport(ClassID); EnableWebTransport(ClassID); end else begin DisableSocketTransport(ClassID); DisableWebTransport(ClassID); inherited UpdateRegistry(Register, ClassID, ProgID); end;end;procedure Tjobman.SQLDeal(var SQLDeal: OleVariant);beginend;procedure Tjobman.jobsel(var job: OleVariant);begin end;function Tjobman.DataSetProvider3DataRequest(Sender: TObject; Input: OleVariant): OleVariant; var irecords:integer;beginend;procedure Tjobman.fact_lookproBeforeUpdateRecord(Sender: TObject; SourceDS: TDataSet; DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean);beginApplied:=true;end;initialization TComponentFactory.Create(ComServer, Tjobman, Class_jobman, ciMultiInstance, tmApartment);end. 你这个代码,还不如不贴出来,看看线层模型对不对?可以用Dcom试试,看看行不行。 Application server 的remote data moduler 是不是单线程? 欢迎下载C++类库: KYLib 提供的相关函数与Delphi中基本相同 Delphi初级问题 请教问题:关于网络--关于一根网线有两个静态IP 在线等 怎样获取存储过程或触发器的错误报告消息 delphi中,用pagecontrol控制MDI窗口问题!! 高手请进,解决立即给分!先谢了 关于Visual TreeView 做个短信信息提取的东东 如何连续打印文本? 如何利用TStoreProc调用MS SQL 7.0的带用参数的存储过程? 晕倒,操作系统2000server,现在关机一栏只有注销这么一个,重启和关机选项不见了! 模糊查询问题 ........ where like '%'
我帮你up
unit Unit2;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
Windows, Messages, SysUtils, Variants,Forms,Classes, ComServ, ComObj, VCLCom, DataBkr,
Dialogs, DBClient, Project1_TLB, StdVcl, DBTables, Provider, DB, ADODB,
ScktComp;type
Tjobman = class(TRemoteDataModule, Ijobman)
ADOConnection1: TADOConnection;
unit_login: TADOQuery;
unit_loginpro: TDataSetProvider;
jobs: TADOQuery;
jobs_pro: TDataSetProvider;
comm: TADOQuery;
comm_pro: TDataSetProvider;
Session1: TSession;
fact_look: TADOQuery;
fact_lookpro: TDataSetProvider;
job_class: TADOQuery;
job_classpro: TDataSetProvider;
ServerSocket1: TServerSocket;
ADOQuery1: TADOQuery;
DataSetProvider1: TDataSetProvider;
factpro2: TDataSetProvider;
fact2: TADOQuery;
function DataSetProvider3DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
procedure fact_lookproBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
procedure SQLDeal(var SQLDeal: OleVariant); safecall;
procedure jobsel(var job: OleVariant); safecall;
public
{ Public declarations }
end;implementation{$R *.DFM}class procedure Tjobman.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;procedure Tjobman.SQLDeal(var SQLDeal: OleVariant);
begin
end;procedure Tjobman.jobsel(var job: OleVariant);
begin
end;function Tjobman.DataSetProvider3DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
var
irecords:integer;
beginend;procedure Tjobman.fact_lookproBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
beginApplied:=true;
end;initialization
TComponentFactory.Create(ComServer, Tjobman,
Class_jobman, ciMultiInstance, tmApartment);
end.