tcp-server

来源:互联网 发布:java取list第一个元素 编辑:程序博客网 时间:2024/05/21 09:17
fpxshyy@fpxshyy-desktop:~/O_SOC_fpxshyy_Linux/L138WorkField/FpxWorkFiles/NetworkField$ ./tcprecle_server 
Ok,成功获得套接字描述符!Socket id = 3
OK,成功绑定端口8800! Bind success!
 OK:成果监听端口8800! Listening ...
服务器链接客户端 172.22.83.241 
服务器发送数据为:0
服务器发送数据为: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
服务器发送数据为:78
服务器发送数据为:79
服务器发送数据为:80
服务器发送数据为:81
服务器发送数据为:82
服务器发送数据为:83
服务器发送数据为:84
服务器发送数据为:85
服务器发送数据为:86
服务器发送数据为:87
服务器发送数据为:88
服务器发送数据为:89
服务器发送数据为:90
服务器发送数据为:91
服务器发送数据为:92
服务器发送数据为:93
服务器发送数据为:94
服务器发送数据为:95
服务器发送数据为:96
服务器发送数据为:97
服务器发送数据为:98
服务器发送数据为:99
服务器发送数据为:100
服务器发送数据为:101
服务器发送数据为:102
服务器发送数据为:103
服务器发送数据为:104
服务器发送数据为:105
服务器发送数据为:106
服务器发送数据为:107
服务器发送数据为:108
服务器发送数据为:109
服务器发送数据为:110
服务器发送数据为:111
服务器发送数据为:112
服务器发送数据为:113
服务器发送数据为:114
服务器发送数据为:115
服务器发送数据为:116
服务器发送数据为:117
服务器发送数据为:118
服务器发送数据为:119
服务器发送数据为:120
服务器发送数据为:121
服务器发送数据为:122
服务器发送数据为:123
服务器发送数据为:124
服务器发送数据为:125
服务器发送数据为:126
服务器发送数据为:127
服务器发送数据为:128
服务器发送数据为:129
服务器发送数据为:130
服务器发送数据为:131
服务器发送数据为:132
服务器发送数据为:133
服务器发送数据为:134
服务器发送数据为:135
服务器发送数据为:136
服务器发送数据为:137
服务器发送数据为:138
服务器发送数据为:139
服务器发送数据为:140
服务器发送数据为:141
服务器发送数据为:142
服务器发送数据为:143
服务器发送数据为:144
服务器发送数据为:145
服务器发送数据为:146
服务器发送数据为:147
服务器发送数据为:148
服务器发送数据为:149
服务器发送数据为:150
服务器发送数据为:151
服务器发送数据为:152
服务器发送数据为:153
服务器发送数据为:154
服务器发送数据为:155
服务器发送数据为:156
服务器发送数据为:157
服务器发送数据为:158
服务器发送数据为:159
服务器发送数据为:160
服务器发送数据为:161
服务器发送数据为:162
服务器发送数据为:163
服务器发送数据为:164
服务器发送数据为:165
服务器发送数据为:166
服务器发送数据为:167
服务器发送数据为:168
服务器发送数据为:169
服务器发送数据为:170
服务器发送数据为:171
服务器发送数据为:172
服务器发送数据为:173
服务器发送数据为:174
服务器发送数据为:175
服务器发送数据为:176
服务器发送数据为:177
服务器发送数据为:178
服务器发送数据为:179
服务器发送数据为:180
服务器发送数据为:181
服务器发送数据为:182
服务器发送数据为:183
服务器发送数据为:184
服务器发送数据为:185
服务器发送数据为:186
服务器发送数据为:187
服务器发送数据为:188
服务器发送数据为:189
服务器发送数据为:190
服务器发送数据为:191
服务器发送数据为:192
服务器发送数据为:193
服务器发送数据为:194
服务器发送数据为:195
服务器发送数据为:196
服务器发送数据为:197
服务器发送数据为:198
服务器发送数据为:199
服务器发送数据为:200
服务器发送数据为:201
服务器发送数据为:202
服务器发送数据为:203
服务器发送数据为:204
服务器发送数据为:205
服务器发送数据为:206
服务器发送数据为:207
服务器发送数据为:208
服务器发送数据为:209
服务器发送数据为:210
服务器发送数据为:211
服务器发送数据为:212
服务器发送数据为:213
服务器发送数据为:214
服务器发送数据为:215
服务器发送数据为:216
服务器发送数据为:217
服务器发送数据为:218
服务器发送数据为:219
服务器发送数据为:220
服务器发送数据为:221
服务器发送数据为:222
服务器发送数据为:223
服务器发送数据为:224
服务器发送数据为:225
服务器发送数据为:226
服务器发送数据为:227
服务器发送数据为:228
服务器发送数据为:229
服务器发送数据为:230
服务器发送数据为:231
服务器发送数据为:232
服务器发送数据为:233
服务器发送数据为:234
服务器发送数据为:235
服务器发送数据为:236
服务器发送数据为:237
服务器发送数据为:238
服务器发送数据为:239
服务器发送数据为:240
服务器发送数据为:241
服务器发送数据为:242
服务器发送数据为:243
服务器发送数据为:244
服务器发送数据为:245
服务器发送数据为:246
服务器发送数据为:247
服务器发送数据为:248
服务器发送数据为:249
服务器发送数据为:250
服务器发送数据为:251
服务器发送数据为:252
服务器发送数据为:253
服务器发送数据为:254
服务器发送数据为:255
服务器发送数据为:256
服务器发送数据为:257
服务器发送数据为:258
服务器发送数据为:259
服务器发送数据为:260
服务器发送数据为:261
服务器发送数据为:262
服务器发送数据为:263
服务器发送数据为:264
服务器发送数据为:265
服务器发送数据为:266
服务器发送数据为:267
服务器发送数据为:268
服务器发送数据为:269
服务器发送数据为:270
服务器发送数据为:271
服务器发送数据为:272
服务器发送数据为:273
服务器发送数据为:274
服务器发送数据为:275
服务器发送数据为:276
服务器发送数据为:277
服务器发送数据为:278
服务器发送数据为:279
服务器发送数据为:280
服务器发送数据为:281
服务器发送数据为:282
服务器发送数据为:283
服务器发送数据为:284
服务器发送数据为:285
服务器发送数据为:286
服务器发送数据为:287
服务器发送数据为:288
服务器发送数据为:289
服务器发送数据为:290
服务器发送数据为:291
服务器发送数据为:292
服务器发送数据为:293
服务器发送数据为:294
服务器发送数据为:295
服务器发送数据为:296
服务器发送数据为:297
服务器发送数据为:298
服务器发送数据为:299
服务器发送数据为:300
服务器发送数据为:301
服务器发送数据为:302
服务器发送数据为:303
服务器发送数据为:304
服务器发送数据为:305
服务器发送数据为:306

服务器发送数据为:307

--------------------------------------------------------

/* Server.c adapted from the book <<--,从实践中学嵌入式Linux C 编程>>
   fpxshyy May 23.2013
 */
#include     <sys/types.h>
#include      <sys/socket.h>
#include      <arpa/inet.h>
#include      <stdio.h>
#include       <stdlib.h>
#include       <errno.h>
#include        <string.h>
#include        <sys/wait.h>
#include        <strings.h>
#include        <unistd.h>
#include        <netinet/in.h>


#define   PORT_ID                 8800


int main()
{
  int sockfd,client_fd;
 struct sockaddr_in my_addr;
 struct sockaddr_in client_addr;
 int addr_length;
 char szSnd[100];
 int step = 0;
 


  /*建立socket 连接*/
 sockfd = socket(AF_INET,SOCK_STREAM,0);
 
 if(sockfd == -1)
  {
    perror("socket");
    exit(EXIT_FAILURE);
  }
  printf("Ok,成功获得套接字描述符!Socket id = %d\n",sockfd);
  /*设置sockaddr_in 结构体中的相关参数*/
 
my_addr.sin_family = AF_INET;
my_addr.sin_port    = htons(PORT_ID);
my_addr.sin_addr.s_addr = INADDR_ANY;
 bzero(&(my_addr.sin_zero),0);


 /*绑定函数bing()*/
 if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))== -1)
  {
    perror("bind");
    exit(EXIT_FAILURE);
  }


 printf("OK,成功绑定端口%d! Bind success!\n",PORT_ID);
  /*调用listen()函数,创建未处理请求队列*/
 if(listen(sockfd,10) == -1)
  {
    perror("listen");
    exit(EXIT_FAILURE);
  }


 printf(" OK:成果监听端口%d! Listening ...\n",PORT_ID);


 addr_length = sizeof(struct sockaddr_in);
 
  /*调用accept()函数,等待客户端的连接*/
 if((client_fd=accept(sockfd,(struct sockaddr *)&client_addr,&addr_length)) == -1)
  {
    perror("accept");
    exit(EXIT_FAILURE);
  }
 printf("服务器链接客户端 %s \n",inet_ntoa(client_addr.sin_addr));
 while(1)
 {
   sprintf(szSnd,"%d\n",step);
   step++;
   if(send(client_fd,szSnd,100,0) == -1)
   {
     perror("send");
     printf("错误:发送字符串失败!\n");
     close(client_fd);
     break;
     }
   printf("服务器发送数据为:%s",szSnd);
   sleep(1);
 }
 
 exit(0);
 }


原创粉丝点击