java socket
class="java" name="code">import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
// 创建server socket
ServerSocket server = new ServerSocket(5678);
while (true) {
// 服务器接收到客户端的数据后,创建与此客户端对话的Socket
Socket client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
while (true) {
String str = in.readLine();
System.out.println(str);
out.println("has receive:" + str);
out.flush();
if (str.equals("end"))
break;
}
client.close();// 不需要继续使用此连接时,关闭连接
}
}
}
import java.net.*;
import java.io.*;
public class Client {
static Socket server;
public static void main(String[] args) throws Exception {
server = new Socket(InetAddress.getLocalHost(), 5678);
BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter out = new PrintWriter(server.getOutputStream());
BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));
while (true){
String str = wt.readLine();
out.println(str);
out.flush();
if (str.equals("end")){
break;
}
System.out.println(in.readLine());
}
server.close();
}
}
?delphi socket

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp; type TForm1 = class(TForm) edt_send: TEdit; btn_send: TButton; btn_connect: TButton; edt_host: TEdit; edt_port: TEdit; edt_receive: TEdit; lbl1: TLabel; lbl2: TLabel; lbl3: TLabel; lbl4: TLabel; procedure btn_sendClick(Sender: TObject); procedure btn_connectClick(Sender: TObject); procedure ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); private public end; var Form1: TForm1; ClientSocket: TClientSocket; implementation {$R *.dfm} procedure TForm1.btn_sendClick(Sender: TObject); begin ClientSocket.Socket.SendText(edt_send.Text+#13); end; procedure TForm1.btn_connectClick(Sender: TObject); begin ClientSocket.Close; ClientSocket.Host := edt_host.Text; ClientSocket.Port := StrToInt(edt_port.Text); ClientSocket.Open; // 指定处理事件 ClientSocket.OnRead := ClientSocketRead; end; procedure TForm1.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); begin edt_receive.Text := Socket.ReceiveText; end; //****************************************************************************** //****************************************初始化,清理************************** //****************************************************************************** initialization ClientSocket := TClientSocket.Create(nil); // ClientSocket.ClientType := ctNonBlocking; finalization ClientSocket.Free; end.?