首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
config
metadata
vba
usb
fetch
function
python
format
byte
settings
spring
dll
php
md5
post
random
foreach
char
blob
datetime
runtime
require
cSharp
netty
cPlusPlus
tags
node.js
scala
import
c语言
controller
hashcode
express
timestamp
cmd
stream
ip
range
instance
client
request
replace
heatmap
javascript
copy
flutter
regex
jsp
lua
cpython
subset
uri
perl
match
case
java
keyword
buffer
timezone
schema
email
install
uml
list
future
heap
loops
substring
object
web
php8
process
window
less
split
vbscript
actionscrip
iostream
typescript
当前位置:
开发笔记
>
编程语言
> 正文
tcp通信服务器端
作者:呜呀003_581 | 来源:互联网 | 2023-06-07 12:55
*sockettcp服务器端*#include#include#include#include#incl
/*socket tcp服务器端*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define SERVER_PORT 5555
int main()
{
int serverSocket;
struct sockaddr_in server_addr;
struct sockaddr_in clientAddr;
int addr_len = sizeof(clientAddr);
int client;
char buffer[200];
int iDataNum;
if((serverSocket &#61; socket(AF_INET, SOCK_STREAM, 0)) <0)
{
perror("socket");
return 1;
}
bzero(&server_addr, sizeof(server_addr));
server_addr.sin_family &#61; AF_INET;
server_addr.sin_port &#61; htons(SERVER_PORT);
server_addr.sin_addr.s_addr &#61; htonl(INADDR_ANY);
if(bind(serverSocket, (struct sockaddr *)&server_addr, sizeof(server_addr)) <0)
{
perror("connect");
return 1;
}
if(listen(serverSocket, 5) <0)
{
perror("listen");
return 1;
}
while(1)
{
printf("Listening on port: %d\n", SERVER_PORT);
client &#61; accept(serverSocket, (struct sockaddr*)&clientAddr, (socklen_t*)&addr_len);
if(client <0)
{
perror("accept");
continue;
}
printf("\nrecv client data...n");
printf("IP is %s\n", inet_ntoa(clientAddr.sin_addr));
printf("Port is %d\n", htons(clientAddr.sin_port));
while(1)
{
iDataNum &#61; recv(client, buffer, 1024, 0);
if(iDataNum <0)
{
perror("recv");
continue;
}
buffer[iDataNum] &#61; &#39;\0&#39;;
if(strcmp(buffer, "quit") &#61;&#61; 0)
break;
printf("%drecv data is %s\n", iDataNum, buffer);
send(client, buffer, iDataNum, 0);
}
}
return 0;
}
服务器
include
io
string
server
port
int
main
struct
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
blob
在虚拟服务器上安装oracle 10g客户端的问题及解决方法
本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ...
[详细]
蜡笔小新 2023-12-11 13:08:10
import
java 模拟get post请求_Java后台模拟发送http的get和post请求,并测试
个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ...
[详细]
蜡笔小新 2023-12-13 14:20:23
char
使用多进程实现TCP服务端的优势和注意事项
本文介绍了为什么要使用多进程处理TCP服务端,多进程的好处包括可靠性高和处理大量数据时速度快。然而,多进程不能共享进程空间,因此有一些变量不能共享。文章还提供了使用多进程实现TCP服务端的代码,并对代码进行了详细注释。 ...
[详细]
蜡笔小新 2023-12-13 18:25:30
spring
基于Socket的多个客户端之间的聊天功能实现方法
本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ...
[详细]
蜡笔小新 2023-12-11 15:55:40
import
Java太阳系小游戏分析和源码详解
本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ...
[详细]
蜡笔小新 2023-12-14 19:53:34
import
差分约束系统求解House Man跳跃问题的思路与方法
本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ...
[详细]
蜡笔小新 2023-12-14 11:49:51
c语言
c语言\n不换行,c语言printf不换行
本文目录一览:1、C语言不换行输入2、c语言的 ...
[详细]
蜡笔小新 2023-12-14 11:05:35
php
Thrift教程初级篇——RPC框架Thrift的安装环境变量配置与第一个实例
本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ...
[详细]
蜡笔小新 2023-12-13 17:36:52
import
Golang如何使用Cookie跟踪位置
关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ...
[详细]
蜡笔小新 2023-12-13 15:47:22
post
解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ...
[详细]
蜡笔小新 2023-12-12 13:19:04
byte
Swing组件及其用法,图标接口的定义和创建方法
本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ...
[详细]
蜡笔小新 2023-12-11 21:03:59
byte
Android工程师面试准备及设计模式使用场景
本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ...
[详细]
蜡笔小新 2023-12-11 18:25:26
byte
Codeforces Round #321 (Div. 2) Kefa and Dishes 状压+spfa
本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ...
[详细]
蜡笔小新 2023-12-11 10:37:34
random
InnoDB存储引擎——内存
上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ...
[详细]
蜡笔小新 2023-12-10 19:47:18
dll
深入解析Linux下的I/O多路转接epoll技术
本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ...
[详细]
蜡笔小新 2023-12-10 14:18:30
呜呀003_581
这个家伙很懒,什么也没留下!
Tags | 热门标签
config
metadata
vba
usb
fetch
function
python
format
byte
settings
spring
dll
php
md5
post
random
foreach
char
blob
datetime
runtime
require
cSharp
netty
cPlusPlus
tags
node.js
scala
import
c语言
RankList | 热门文章
1
java GitHub Desktop 使用方法(建立Repository,publish,push ,commit,synchronization等, 同步代码更改,同步项目)
2
在XSLT v1.0中排序以获得最大值,一个新问题 - Sorting in XSLT v1.0 to obtain the greatest value, a new question
3
jmeter(十六)正则表达式
4
大数据Hive相关知识点介绍
5
PHP TP5 利用jQuery实现无刷新分页与无刷新搜索
6
深度学习实战框架(二)
7
PhotoShop 图片半透明水印去掉技巧
8
【模电】0005 光耦的使用
9
控制容器的宽高比aspectratio
10
学习总结_JAVA学习总结常用数据结构
11
离开
12
我听很多人说JAVA已经过时了,下一个要淘汰的语言就是JAVA,真的是这样吗?
13
php与nginx整合
14
php红怎么查看类的方法
15
腱字意思 在新华字典的读音解释笔画常用组词起名
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有