java socket编程中服务器指的是什么? 客户端指的又是什么?

服务器和客户端的对话又是以怎样的形式(方式)进行通信的?我刚学到socket,就是搞不懂这些,望高手指教... 服务器和客户端的对话又是以怎样的形式(方式)进行通信的?
我刚学到socket,就是搞不懂这些,望高手指教
展开
 我来答
戏肖告O
2012-04-25 · TA获得超过441个赞
知道小有建树答主
回答量:331
采纳率:28%
帮助的人:180万
展开全部
/*服务端*/

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

第四步,编写服务器端的主体代码,如下所示。

public class ServerCode

{
// 设置端口号
public static int portNo = 3333;
public static void main(String[] args) throws IOException
{
ServerSocket s = new ServerSocket(portNo);

System.out.println("The Server is start: " + s);

// 阻塞,直到有客户端连接

Socket socket = s.accept();
try

{

System.out.println("Accept the Client: " + socket);

//设置IO句柄
BufferedReader in = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

PrintWriter out = new PrintWriter(new BufferedWriter(

new OutputStreamWriter(socket.getOutputStream())), true);

while (true)

{

String str = in.readLine();

if (str.equals("byebye"))

{

break;

}

System.out.println("In Server reveived the info: " + str);

out.println(str);

}

}

finally

{

System.out.println("close the Server socket and the io.");

socket.close();

s.close();

}

}

}
/*客户端*/

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.InetAddress;

import java.net.Socket;

第二,编写客户端的主体代码,如下所示:

public class ClientCode

{

static String clientName = "Mike";

//端口号

public static int portNo = 3333;

public static void main(String[] args) throws IOException

{

// 设置连接地址类,连接本地

InetAddress addr = InetAddress.getByName("localhost");

//要对应服务器端的3333端口号

Socket socket = new Socket(addr, portNo);

try

{

System.out.println("socket = " + socket);

// 设置IO句柄
BufferedReader in = new BufferedReader(new InputStreamReader(socket

.getInputStream()));
PrintWrite out = new PrintWriter(BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);

out.println("Hello Server,I am " + clientName);

String str = in.readLine();

System.out.println(str);

out.println("byebye");

}

finally

{

System.out.println("close the Client socket and the io.");

socket.close();

}

}

}
ermaosk
2012-04-23 · TA获得超过119个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:115万
展开全部
就是客户端服务器根据tcp/ip进行通信
追问
我理解的客户端是不是程序本身????
追答
程序本身?
比如java 的socket通信,你就可以理解为客户端为Socket,服务器端为ServerSocket
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-23
展开全部
服务器和客户端指的都是程序进程。客户端可以认为是你在用的程序,想从其他地方获取数据的进程,比如c/s架构的聊天系统,你的留言会先传到服务器,你得到的其他人的留言也是从服务器获取的。而服务器就是为客户端提供支持的一个进程。
追问
为什么要先运行服务器端再运行客户端呢?而不能反过来呢
追答
先运行客户端的话,获取不到服务器信息,没有人处理你的请求;而先运行服务器的话,及时没有请求要处理,服务器该怎么监听还怎么监听。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式