用C语言写一段代码,与192.168.1.1的tcp80端口建立连接
很早以前写的一段示例代码,希望对你有帮助//windows TCP Client# include "winsock2.h"void main(void){WSADATA wsaData;SOCKET s;SOCKADDR_IN ServerAddr;int Port = 80; //初始化Windows Socket 2.2 WSAStartup(MAKEWORD(2,2),wsaData); // 创建一个新的Socket来连接服务器 s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // 填写客户端地址信息// 端口为80// 服务器IP地址为"192.168.1.1",注意使用inet_addr将IP地址转换为网络格式 ServerAddr.sin_family = AF_INET;ServerAddr.sin_port = htons(Port);ServerAddr.sin_addr.s_addr = inet_addr("192.168.1.1"); // 向服务器发出连接请求 connect(s, (SOCKADDR *) &ServerAddr, sizeof(ServerAddr)); // 新的连接建立后,就可以互相通信了,在这个简单的例子中,我们直接关闭连接,// 并关闭监听Socket,然后退出应用程序 closesocket(s); // 释放Windows Socket DLL的相关资源 WSACleanup();}

求一个C语言的TCP 客户/服务 连接示例代码
#include #include #pragma comment(lib, "ws2_32.lib")void main() {// 初始化WSADATA wsaData;int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );if ( iResult != NO_ERROR )printf("Error at WSAStartup()n");// 建立socketSOCKET server;server = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );if ( server == INVALID_SOCKET ) {printf( "Error at socket(): %ldn", WSAGetLastError() );WSACleanup();return;}// 绑定socketsockaddr_in service;service.sin_family = AF_INET;service.sin_addr.s_addr = inet_addr( "127.0.0.1" );service.sin_port = htons( 27015 );if ( bind( server, (SOCKADDR*) &service, sizeof(service) ) == SOCKET_ERROR ) {printf( "bind() failed.n" );closesocket(server);return;}// 监听 socketif ( listen( server, 1 ) == SOCKET_ERROR )printf( "Error listening on socket.n");// 接受连接SOCKET AcceptSocket;printf( "Waiting for a client to connect...n" );while (1) {AcceptSocket = SOCKET_ERROR;while ( AcceptSocket == SOCKET_ERROR ) {AcceptSocket = accept( server, NULL, NULL );}printf( "Client Connected.n");server = AcceptSocket;break;}// 发送接受数据int bytesSent;int bytesRecv = SOCKET_ERROR;char sendbuf[32] = "Server: Sending Data.";char recvbuf[32] = "";bytesRecv = recv( server, recvbuf, 32, 0 );printf( "Bytes Recv: %ldn", bytesRecv );bytesSent = send( server, sendbuf, strlen(sendbuf), 0 );printf( "Bytes Sent: %ldn", bytesSent );return;} SERVER的

求大神用C/C++语言写一段代码,建立TCP连接后实现用HTTP协议向目的地址发送GET请求
在浏览器上测试这个get请求,用抓包工具可以看到发送的tcp数据,照抄send。
把代码粘贴给我,我帮你调试!我不想写这多的代码 问题可能出在strcat_s()这里,换成sprintf或snprintf()函数试一下。

c#中使用TCP socket通信,第一次打开TCP连接成功,关闭后,再次打开就失败。
关闭socket.Close()后,socket对象就为null,再次打开socket时会发生异常。稍微修改一下:private void tcpStart_Click(object sender, EventArgs e) { //IPAddress ipAddr = IPAddress.Parse("172.24.54.19"); IPAddress ipAddr = IPAddress.Parse(IP); IPEndPoint ipEnd = new IPEndPoint(ipAddr, 9603);//创建socket实例!加上这句!!!!!socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp) try { socket.Connect(ipEnd); btnStart.Enabled = true; MessageBox.Show("TCP连接成功!!"); } catch { MessageBox.Show("TCP连接失败!!"); }}

TCP客户端程序源代码如何编写?
int client() { system("color 0a"); //修改DOS窗口颜色,是其成0A。 WORD wVersion=MAKEWORD(1,1);WSADATA wsData;int nResult= WSAStartup(wVersion,&wsData); //启动WINSOCKETif(nResult !=0){printf("启动Winsock失败!n");}SOCKET sc=socket(AF_INET,SOCK_STREAM,IPPROTO_IP); //创建套接字 if(sc==INVALID_SOCKET){printf("创建套接字失败!n");}SOCKADDR_IN addrSc; addrSc.sin_family=AF_INET;addrSc.sin_port=htons(portNum); //保证字节顺序char IP[20]; again: printf("请输入服务器的IP地址:"); gets(IP);if( -1==inet_addr(IP) ) //循环检测IP地址是否合法 { printf("IP地址错误!n"); goto again; } addrSc.sin_addr.S_un.S_addr=inet_addr(IP);int b=0; while(b<5) //检测5次,如果服务器在此时间内启动,则进行连接 { nResult=connect(sc,(SOCKADDR*)&addrSc,sizeof(SOCKADDR)); //套接字连接 Sleep((DWORD)100); //延时1秒 if(nResult==SOCKET_ERROR){printf(" %d 次连接失败!n",b+1); } else break; b++; } if(nResult==SOCKET_ERROR) { printf("登陆超时,请重新登陆!n"); goto again; } char *buf="连接成功!"; //向服务端验证连接成功 nResult=send(sc,buf,strlen(buf)+1,0);if(nResult==SOCKET_ERROR) {printf("5.套接字发送数据失败!n"); return 0; } char mess[M]; nResult =recv(sc,mess,strlen(mess),0); //接受服务端的连接验证信息 if(nResult == -1 ) //判断服务端是否关闭 { printf("n服务端已断开n"); system("pause"); exit(0); } printf("%sn",mess); tianle:system("cls"); //清屏 puts("nn"); puts(" * * "); puts(" * 欢·迎·使·用·局·域·网·文·件·发·送·工·具 *"); puts(" * (客 户 端) * "); puts(" * * "); puts(" * * "); puts(" * 请等待服务端的相应操作 * "); puts(" * * "); puts(" * * "); puts(" * 天乐软件工作室制作 * "); puts(" * 2008-3-1 * "); puts(" * 版权所有★欢迎传播 * "); puts("全屏(退出全屏)操作请按:ALT+ENTERn"); char rMess[100]; nResult=recv(sc,rMess,strlen(rMess),0); //接收服务端发来的操作请求 if(nResult==-1) //判断服务端是否关闭 { printf("n服务端已断开n"); system("pause"); goto tianle; } printf("%sn",rMess); char ch; char str[100]; gets(str); ch=str[0]; while( ch!='Y' && ch!='y' && ch!='N' && ch!='n' ) //处理客户端的错误输入 { printf("输入有误,请重新输入(Y/N):"); gets(str); ch=str[0]; }send(sc,&ch,sizeof(char),0); //向服务端反馈选择,并执行相应操作 if(strcmp(rMess,"服务端向你传送文件,是否接受(Y/N):")==0 && (ch=='Y' || ch=='y') ) { receiveFile(sc); } if(strcmp(rMess,"服务端向你发起聊天,是否接受(Y/N):")==0 && (ch=='Y' || ch=='y') ) { chatting_client(sc); } if(ch=='N' || ch=='n') { printf("你拒绝了!n"); system("pause"); }system("cls"); goto tianle; nResult=closesocket(sc); //关闭套接字 if(nResult==SOCKET_ERROR){printf("8.关闭套接字失败!n"); return 0; }} 满意请采纳

本文由 在线网速测试 整理编辑,转载请注明出处。