将值传递给服务器

问题描述:

如何修改此代码并将msg字符串值传递给服务器?我不希望它在控制台上打印任何字符。在我的服务器上,我收到一个空值。将值传递给服务器

import java.net.*; 
import java.io.*; 

public class SocketClient { 
    public static void main(String[] args) { 
    // Create a socket without a timeout 

String msg = "sssssssssssssssssssssss"; 
    try { 
     InetAddress addr = InetAddress.getByName("127.0.0.1"); 
     int port = 8090; 

     Socket socket = new Socket(addr, port); 
     //ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); 
     BufferedWriter oos = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 
     System.out.println("qqqqqqqq"); 
     oos.write(msg); 
     oos.flush(); 

     oos.close(); 


    } catch (UnknownHostException e) { 
    } catch (IOException e) { 
    } 
+0

也许你还应该张贴代码为您的服务器。 – MAK 2010-11-04 11:11:36

+0

我使用的服务器是xSocket – Proyb2 2010-11-04 11:22:36

+0

perhap你仍然可以看到我的服务器代码? – Proyb2 2010-11-04 11:25:20

乍一看,你的代码看起来是正确的。但是,一定要在抓到它们时打印异常。否则,你永远不会知道你是否做错了什么。

+0

你的意思是ObjectOutputStream(socket.getOutputStream())可以在没有用户输入或println的情况下使用吗? – Proyb2 2010-11-04 11:24:35

+0

Perhap,你可以看到我的服务器代码? – Proyb2 2010-11-04 11:25:47

如果您的服务器代码String data = nbc.readStringByDelimiter("\0");你需要的信息后,发送0字节:socket.getOutputStream().write(0);

+0

让我试试看看它是否有效 – Proyb2 2010-11-04 11:57:41

+0

它显示void type不允许在这里 – Proyb2 2010-11-04 12:00:18

+0

@ user217582你是什么意思? – khachik 2010-11-04 12:08:51