有两种方案
1、设一台服务器,所有的机器的通讯都通过服务器转发,这个很好作,你应该知道。
2、第个应该程序里有一组tSocktServer和tsocketClient,进行动态分配,解决多机器之间的两两通讯问题。
1、设一台服务器,所有的机器的通讯都通过服务器转发,这个很好作,你应该知道。
2、第个应该程序里有一组tSocktServer和tsocketClient,进行动态分配,解决多机器之间的两两通讯问题。
解决方案 »
- 好久没用程序了,发现delphi有点落伍了
- 急寻求汉字拼音对照表,100分相赠!!
- D7,在某个文本文件中找某串字符串,如果找到就退出,找不到就再找另外一个字符串,然后将该字符串删除,再添加新字符串进去,然后保存
- 高分求救:Delphi7 & Crystal Report9问题
- 一段真实的经历,一段让我震撼的近十分钟,进者有分!
- 关于 Delphi 6 中文版的问题!
- 关于DBGrid里的计算。谢谢。
- 请问那里有将html中的html标志转换为特殊的显示标志的函数?
- 怎启动Interbase,密码和用户是什么?
- 关于”Build with runtime packages"的难题,请高手回答。
- 请问如何查找到网络上活动的主机?
- 请教:哪里有免费邮箱(163,263除外),谢谢!
下面代码可取的ip
function LocalIP:string;
type
TaPInAddr = array [0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I : Integer;
GInitData : TWSADATA;begin
WSAStartup($101, GInitData);
Result := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
result:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
您的一方案:是无法做到并发的可能的,假如两个client一起打开端口就会出错。
2方案我想在一个程序中socket的server和client个数是很多了,好像不好。
我想可不可以1+2=3并发时将生成新的server和client