客户端创建的实现步骤:
先创建Socket对象,并给定ip和端口就可以完成和服务器的连接
Socket client = new Socket(ip地址,端口号);
二、同步消息和异步消息(与客户端和服务器的交互有关)
同步消息:消息发送方发送完消息后,一定要等对方反馈消息后,才能有后续消息发送动作(登录,注册是否成功)
异步消息:消息发送发只管发消息,不需要的到对方的反馈(消息的发送和接收)
三、客户端和服务器的简单交互
拿我们前面简单的多人聊天室来说,首先,客户端的连接服务器;一旦连接成功,服务器会发送消息给客户端,所连接成功,并要求客户端输入用户名和密码进行登录;当输入用户名和密码以后,服务器端会进行校验,返回给客户端一个信息,看是否登录成功;如果登录成功,则可以多人聊天了,否则登录失败,要求重新登录;前面这一部分登录都是属于同步消息,一定要等到对方反馈消息后,才能有后续等到消息发送动作,一旦登录成功,后面服务器需要一直接受来自客户端的消息,并把消息转发出去,而客户端则需要一直处于接受消息的状态,发送消息和接收消息是一步消息,不需要等待反馈消息;
四、源代码
服务器端代码:
package com.huaxin.server;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
public class Myserver {
public static ArrayList<ServerThread>list =new ArrayList<ServerThread>();
public void initServer() {
try {
//创建服务器对象,并指定端口号
ServerSocket server = new ServerSocket(9090);
System.out.println("服务器已经建立......");
//不断获取客户端的连接
while(true){
Socket socket =server.accept();
System.out.p