最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

java Socket和ServerSocket多线程编程

来源:动视网 责编:小OO 时间:2025-09-23 22:57:13
文档

java Socket和ServerSocket多线程编程

javaSocket和ServerSocket多线程编程这是在一本java教材上看到的,做了点修改。具体本教材记不清楚了,Sorry.放在这里,只是让自己需要的时候能够容易找到。程序分两部分,服务端和客户端。先把服务端运行起来,在运行客户端。整个过程就是客户端想服务端发送String,服务端再返回。客户端的String由键盘输入得到。服务器端。Java代码1.packagenet.tcp;2.3.importjava.io.BufferedReader;4.importjava.io.IOEx
推荐度:
导读javaSocket和ServerSocket多线程编程这是在一本java教材上看到的,做了点修改。具体本教材记不清楚了,Sorry.放在这里,只是让自己需要的时候能够容易找到。程序分两部分,服务端和客户端。先把服务端运行起来,在运行客户端。整个过程就是客户端想服务端发送String,服务端再返回。客户端的String由键盘输入得到。服务器端。Java代码1.packagenet.tcp;2.3.importjava.io.BufferedReader;4.importjava.io.IOEx
java Socket和ServerSocket多线程编程

这是在一本java教材上看到的,做了点修改。具体本教材记不清楚了,Sorry.放在这里,只是让自己需要的时候能够容易找到。

程序分两部分,服务端和客户端。先把服务端运行起来,在运行客户端。整个过程就是客户端想服务端发送String,服务端再返回。客户端的String由键盘输入得到。

服务器端。

Java代码

1.package net.tcp;

2.

3.import java.io.BufferedReader;

4.import java.io.IOException;

5.import java.io.InputStreamReader;

6.import java.io.PrintWriter;

7.import java.net.ServerSocket;

8.import java.net.Socket;

9.

10.public class Server extends Thread

11.{

12.

13. ServerSocket server = null;

14. Socket sk = null;

15. BufferedReader rdr = null;

16. PrintWriter wtr = null;

17.

18. public Server()

19. {

20. try

21. {

22. server = new ServerSocket(1987);

23. }

24. catch (IOException e)

25. {

26. e.printStackTrace();

27. }

28. }

29.

30. public void run()

31. {

32.

33. while (true)

34. {

35. System.out.println("Listenning...");

36. try

37. {

38.// 每个请求交给一个线程去处理

39. sk = server.accept();

40. ServerThread th = new ServerThread(sk);

41. th.start();

42. sleep(1000);

43. }

44. catch (Exception e)

45. {

46. e.printStackTrace();

47. }

48.

49. }

50. }

51.

52. public static void main(String [] args)

53. {

54. new Server().start();

55. }

56.

57.

58.

59.

60.

61.

62. class ServerThread extends Thread

63. {

.

65. Socket sk = null;

66. public ServerThread(Socket sk)

67. {

68. this.sk = sk;

69. }

70. public void run()

71. {

72. try

73. {

74. wtr = new PrintWriter(sk.getOutputStream());

75. rdr = new BufferedReader(new InputStreamReader(sk

76. .getInputStream()));

77. String line = rdr.readLine();

78. System.out.println("从客户端来的信息:" + line);

79.// 特别,下面这句得加上 “\

”,

80. wtr.println("你好,服务器已经收到您的信息!'" + line + "'\

");

81. wtr.flush();

82. System.out.println("已经返回给客户端!");

83.

}

84. catch (IOException e)

85. {

86. e.printStackTrace();

87. }

88.

. }

90.

91. }

92.

93.}

package net.tcp;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

public class Server extends Thread

{

ServerSocket server = null;

Socket sk = null;

BufferedReader rdr = null;

PrintWriter wtr = null;

public Server()

{

try

{

server = new ServerSocket(1987);

}

catch (IOException e)

{

e.printStackTrace();

}

}

public void run()

{

while (true)

{

System.out.println("Listenning...");

try

{

//每个请求交给一个线程去处理

sk = server.accept();

ServerThread th = new ServerThread(sk);

th.start();

sleep(1000);

}

catch (Exception e)

{

e.printStackTrace();

}

}

}

public static void main(String [] args)

{

new Server().start();

}

class ServerThread extends Thread

{

Socket sk = null;

public ServerThread(Socket sk)

{

this.sk = sk;

}

public void run()

{

try

{

wtr = new PrintWriter(sk.getOutputStream());

rdr = new BufferedReader(new InputStreamReader(sk

.getInputStream()));

String line = rdr.readLine();

System.out.println("从客户端来的信息:" + line);

//特别,下面这句得加上 “\

”,

wtr.println("你好,服务器已经收到您的信息!'" + line + "'\

");

wtr.flush();

System.out.println("已经返回给客户端!");

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

}

客户端:

Java代码

1.package net.tcp;

2.

3.import java.io.BufferedReader;

4.import java.io.BufferedWriter;

5.import java.io.InputStreamReader;

6.import java.io.OutputStreamWriter;

7.import java.io.PrintWriter;

8.import java.net.Socket;

9.

10.public class Client extends Thread

11.{

12.

13. Socket sk = null;

14. BufferedReader reader = null;

15. PrintWriter wtr = null;

16. BufferedReader keyin = null;

17.

18. public Client()

19. {

20. keyin = new BufferedReader(new InputStreamReader(System.in));

21. try

22. {

23. sk = new Socket("127.0.0.1

r = new BufferedReader(new InputStreamReader(sk

37. .getInputStream()));

38. wtr = new PrintWriter(sk.getOutputStream());

39. String get = keyin.readLine();

40.

41. while (true)

42. {

43. if (get != null & get.length() > 0)

44. {

45. wtr.println(get);

46. wtr.flush();

47.// wtr.close();

48.// System.out.println(get + "发送完毕");

49. }

50. if (reader != null)

51. {

52. String line = reader.readLine();

53. System.out.println("从服务器来的信息:" + line);

54.

55. }

56.

57. }

58. }

59. catch (Exception e)

60. {

61. e.printStackTrace();

62. }

63. }

.

65. public static void main(String [] args)

66. {

67. new Client().start();

68. }

69.}

文档

java Socket和ServerSocket多线程编程

javaSocket和ServerSocket多线程编程这是在一本java教材上看到的,做了点修改。具体本教材记不清楚了,Sorry.放在这里,只是让自己需要的时候能够容易找到。程序分两部分,服务端和客户端。先把服务端运行起来,在运行客户端。整个过程就是客户端想服务端发送String,服务端再返回。客户端的String由键盘输入得到。服务器端。Java代码1.packagenet.tcp;2.3.importjava.io.BufferedReader;4.importjava.io.IOEx
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top