Java Socket通信之聊天室功能

2025-05-29 0 44

本文实例为大家分享了java socket聊天室功能的具体代码,供大家参考,具体内容如下

client.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49
import java.io.*;

import java.net.*;

import java.util.*;

public class client {

public int port = 8083;

socket socket = null;

public static void main(string[] args) {

new client(); //开始执行

}

public client() {

try {

socket = new socket("127.0.0.1", port);

new cthread().start();

bufferedreader br = new bufferedreader(new inputstreamreader(socket.getinputstream()));

string msg1;

while ((msg1 = br.readline()) != null) {

system.out.println(msg1);

}

} catch (exception e) {

}

}

class cthread extends thread {

public void run() {

try {

bufferedreader re = new bufferedreader(new inputstreamreader(system.in));

printwriter pw = new printwriter(socket.getoutputstream(), true);

string msg2;

while (true) {

msg2 = re.readline();

pw.println(msg2);

}

} catch (exception e) {

e.printstacktrace();

}

}

}

}

server.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77
import java.net.*;

import java.io.*;

import java.util.*;

public class server {

int port;

list<socket> clients;

serversocket server;

public server() {

try {

port = 8083;

clients = new arraylist<socket>();

server = new serversocket(port);

system.out.println("服务器已启动");

int co=1;

while (true) {

socket socket = server.accept();

clients.add(socket);

mythread mythread = new mythread(socket,co);

co++;

mythread.start();

}

} catch (exception ex) {

system.out.println("vv");

}

}

public static void main(string[] args) {

new server();

}

class mythread extends thread {

socket ssocket;

private int count;

private bufferedreader br;

private printwriter pw;

public string msg;

public mythread(socket s,int c) {

ssocket = s;

count=c;

}

public void run() {

try {

br = new bufferedreader(new inputstreamreader(ssocket.getinputstream()));

msg = "欢迎【" +"client "+count + "】进入聊天室!当前聊天室有【" + clients.size() + "】人";

sendmsg();

while ((msg = br.readline()) != null) {

msg = "【" +"client "+count + "】说:" + msg;

sendmsg();

}

} catch (exception ex) {

}

}

public void sendmsg() {

try {

system.out.println(msg);

for (int i = clients.size() - 1; i >= 0; i--) {

pw = new printwriter(clients.get(i).getoutputstream(), true);

pw.println(msg);

pw.flush();

}

} catch (exception ex) {

}

}

}

}

运行结果:

Java Socket通信之聊天室功能

Java Socket通信之聊天室功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://blog.csdn.net/LY_624/article/details/53784612

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java Socket通信之聊天室功能 https://www.kuaiidc.com/113268.html

相关文章

发表评论
暂无评论