java socket 多客户端和服务器的通信
[java]
所谓可以多客户端,就是需要在服务器端进行多线程编程,每一个客户端对应一个线程。如果要实现时时通讯和话,无论是客户端还是服务器端都要至少两个线程,主线程进行发送信息,子线程进行获取信息,这样可以保证时时通信.
下面贴出我的代码:
客户端:
[java]
package com.lip;
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.Socket;
import java.util.Scanner;
public class Client
{
/**
* Author: Lip
* 客户端
*/
public static void main(String[] args)
{
Socket socket = null;
BufferedReader br = null;
PrintWriter pw = null;
Scanner scanner = new Scanner(System.in);// 从键盘读取
try
{
// 创建客户端socket
socket = new Socket(Server.HOST, Server.PORT);
// 读取从客户端发来的消息
br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// 写入信息到服务器端
pw = new PrintWriter(
new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())));
new ReadServerMessage(br);// 从服务器读取消息
while (true)
{
String temp = scanner.nextLine();// 从键盘读取一行
pw.println(temp);// 写到服务器
pw.flush();
if (temp.equals("q"))
break;
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
System.out.println("close......");
br.close();
pw.close();
socket.close();
补充:软件开发 , Java ,