主题:有關ClientSocket 的使用方式
我有一個問題是有關c++ builder 用client socket 去連線 server 的問題要請教個位
1. 我的 server code 是用java 寫的 當我在進線時從 server 上我可以很清處看到連線進來的IP是那一個地方 , 但是當我從server 端傳送 message 回 client 端時 , client 種是接不到參數
server code
==================
public void run()
{
getAddress();
while (true){
try {
System.out.println( getName() + " waiting");
Socket clientSocket;
// 在此等待下次連線
synchronized(servSock) {
clientSocket = servSock.accept();
}
System.out.println(getName() + " starting, IP=" +
clientSocket.getInetAddress());
BufferedReader is = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
PrintStream os = new PrintStream(
clientSocket.getOutputStream(), true);
String startconn;
while ((startconn = is.readLine()) != NULL){
String data = "http://" +hostaddress +":8080/DrugList/location/locatioin.txt"; // 第一次的資料
os.println("Location list: \n" + data); // append 假的資料給 client
System.out.println(startconn.toString());
os.println(is.readLine());
os.println(".END");
}
}
============================
client code
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
ClientSocket1->Active;
Memo1->Lines->Add(Socket->ReceiveText());
AnsiString str = Socket->ReceiveText();
Memo1->Lines->Append(str);
}
1. 我的 server code 是用java 寫的 當我在進線時從 server 上我可以很清處看到連線進來的IP是那一個地方 , 但是當我從server 端傳送 message 回 client 端時 , client 種是接不到參數
server code
==================
public void run()
{
getAddress();
while (true){
try {
System.out.println( getName() + " waiting");
Socket clientSocket;
// 在此等待下次連線
synchronized(servSock) {
clientSocket = servSock.accept();
}
System.out.println(getName() + " starting, IP=" +
clientSocket.getInetAddress());
BufferedReader is = new BufferedReader(
new InputStreamReader(clientSocket.getInputStream()));
PrintStream os = new PrintStream(
clientSocket.getOutputStream(), true);
String startconn;
while ((startconn = is.readLine()) != NULL){
String data = "http://" +hostaddress +":8080/DrugList/location/locatioin.txt"; // 第一次的資料
os.println("Location list: \n" + data); // append 假的資料給 client
System.out.println(startconn.toString());
os.println(is.readLine());
os.println(".END");
}
}
============================
client code
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
ClientSocket1->Active;
Memo1->Lines->Add(Socket->ReceiveText());
AnsiString str = Socket->ReceiveText();
Memo1->Lines->Append(str);
}