JAVA中的 SOCKET能否与DELPHI中的 SOCKET进行通信 大家都是标准的socket,当然可以了实现还是一个服务器一个客户端啊,随便你哪个做服务器哪个做客户端了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你些个最简单的Hello Delphi!server.javaimport java.net.*;import java.io.*;class Test{ public static void main(String[] args) throws IOException{ ServerSocket s=new ServerSocket(5918); Socket c=s.accept(); PrintWriter out=new PrintWriter(c.getOutputStream()); out.println("hello Delphi!"); out.close(); c.close(); }}client/Delphiunit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp;type TForm1 = class(TForm) ClientSocket1: TClientSocket; btnConnect: TButton; procedure btnConnectClick(Sender: TObject); procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btnConnectClick(Sender: TObject);begin ClientSocket1.Port:=5918; ClientSocket1.Address:='192.168.0.1'; ClientSocket1.Active:=true;end;procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);var str:string;begin str:=Socket.ReceiveText(); form1.caption:=str; Socket.Close;end;end. 没有问题我试过了不但java可以 j2me也可以 我是用DELPHI程序作为服务器,JAVA 小应用程序作为客户端,连接成功,但服务器首先发送数据,JAVA 小应用程序却收不到。我传递的数据是字节数组和字符串。 delphi,c++不使用网络字节序,java默认就使用网络字节序主要转换一下,ntohl,ntohs,htonl,htons, 我实验的结果是:DELPHI SERVER-SOCKET 与 SERVLET CLIENT-SOCKET之间的通信,CLIENT先请求,然后DELPHI 响应,两者之间通信正常,但DELPHI 先发数据,则CLIENT收不到. 我用过vb和java没有问题 所以delphi应该也没有问题我用的InputStream.read()来读取数据最后单独建立一个读取的线成然后判断还有可读取的字节 在读取我原来用DataInputStream就老是堵塞 不知道为什么 一个理解wait()与notify()的程序 Swing组件显示的问题 在Awt中如何通过代码触发事件 jsp 请做过这Struts+Spring+Hibernate视频练习例子的大侠进来看看,谢谢! 关于java实现打印的问题。 JSP 中访问数据库,如果查询的是多个表,那么RS.get..()中怎么确定类啊? 谢谢大家,200分已经结帖,现在又100分提问 哪有D版的JB4.0可买? 使用springdata jpa 怎样实现多表连接查询 注意是多个表查询不是多个条件! 急!从数据库返回的包含有多个列的结果集存入数组该怎么做??? 紧急求救:如何删除jdbTable中的记录
server.java
import java.net.*;
import java.io.*;class Test{
public static void main(String[] args)
throws IOException{
ServerSocket s=new ServerSocket(5918);
Socket c=s.accept();
PrintWriter out=new PrintWriter(c.getOutputStream());
out.println("hello Delphi!");
out.close();
c.close();
}
}
client/Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
btnConnect: TButton;
procedure btnConnectClick(Sender: TObject);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btnConnectClick(Sender: TObject);
begin
ClientSocket1.Port:=5918;
ClientSocket1.Address:='192.168.0.1';
ClientSocket1.Active:=true;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
str:string;
begin
str:=Socket.ReceiveText();
form1.caption:=str;
Socket.Close;
end;
end.
我试过了
不但java可以 j2me也可以
我用的InputStream.read()来读取数据
最后单独建立一个读取的线成
然后判断还有可读取的字节 在读取
我原来用DataInputStream就老是堵塞 不知道为什么